|
|
səhifə | 3/4 | tarix | 24.11.2023 | ölçüsü | 185,88 Kb. | | #133582 |
| Agata OYTDsocket.onopen = function(e) {
alert("[open] A'loqa o'rnatilgan !");
//Serverga xabar yuboramiz
socket.send("Salom server");
};
// Serverdan xabar kutamiz
socket.onmessage = function(event) {
alert(`[message] Serverdan kelgan xabar: ${event.data}`);
};
// A'loqa uzulishini tekshiramiz
socket.onclose = function(event) {
// Uzulish sababini tekshiramiz
if (event.wasClean) {
alert(`[close] A'oqa server tomonidan uzuldi, Javob kodi=${event.code} Uzulish sababi=${event.reason}`);
} else {
alert('[close] A'loqa nomalum sabab bilan uzulgan !');
}
};
// A'loqa ulangandan so'ng doim xatolarni tekshiramiz !
socket.onerror = function(error) {
alert(`[error] Xatolik ! ${error.message}`);
};
Bunday a'loqa uchun Node.js platformasida test uchun server yaratamiz:
Server
import select
import socket
import sys
def main():
# Yangi socket yaratamiz
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# nonblocking qilamiz
# bu read, write larda kutib turmaslik uchun kerak
sock.setblocking(0)
# qaysi interface ni tinglashni ko'rsatamiz port bilan birga
sock.bind(("127.0.0.1", 8899))
# bir vaqtning o'zida nechta client ulana olishini ko'rsatamiz
sock.listen(10)
# bular select.select uchun kerak
# ya'ni nonblocked socketlarda kernel eventlar
# bilan ishlash kerak. Ya'ni yadro socketdan kelgan
# ma'lumotlardan kelib chiqib ushbu massivlarga
# kerakli connection.id larni beradi
Dostları ilə paylaş: |
|
|