© 2017

Lập trình socket với ứng dụng Chatting single trong Python

NLD Code - Lập trình socket với ứng dụng Chatting single trong Python là một ứng dụng mô phỏng sự liên lạc giữa một máy trạm và một máy chủ với nhau thông qua socket...

Lập trình socket với ứng dụng #Chatting single trong #Python là một ứng dụng mô phỏng sự liên lạc giữa một máy trạm và một máy chủ với nhau thông qua #socket.

Tạo tập tin với tên chatserver.py

Bước 1: Chèn thư viện socket
import socket
Bước 2: Tạo một đối tượng socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
Bước 3: Lấy tên máy cục bộ
host =  socket.gethostname()
Bước 4: Khai báo port cho ứng dụng
port = 303
Bước 5: Kết nối tới port đã khai báo
s.bind((host,port))
Bước 6: Chờ đợi kết nối từ máy khách
s.listen(1)
Bước 7: Tạo vòng lặp while với điều kiện True
while True:
Bước 8: Thiết lập kết nối với máy khách
c, addr = s.accept()
Bước 9: In ra địa chỉ mà máy khách đã kết nối
print '=> Ket noi tu: ',addr
Bước 10: Tạo vòng lặp while với điều kiện True
while True:
Bước 11: Nhận thông tin từ socket và in ra thông tin đó
data = c.recv(1024)
print "\n=> May khach:", data ,"\n"
Bước 12: Lấy thông tin từ bàn phím và gửi thông tin đó lên socket
ms = raw_input('Nhap tin nhan: ')
c.send(ms)
Bước 13: Đóng kết nối
c.close() 
Và đoạn code hoàn chỉnh nhất cho tập tin chatserver.py được thể hiện như bên dưới
import socket
host =  socket.gethostname()
port = 303
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((host, port))
s.listen(1)
while True:
    c, addr = s.accept()
    print '\nKet noi tu:', addr
    while True:
        data = c.recv(1024)
        print "\n=> May khach:", data ,"\n"
        ms = raw_input('Nhap tin nhan: ')
        c.send(ms)
s.close()

 

Tạo tập tin với tên chatclient.py

Bước 1: Chèn thư viện socket
import socket
Bước 2: Tạo một đối tượng socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
Bước 3: Lấy tên máy cục bộ
host =  socket.gethostname()
Bước 4: Khai báo port cho ứng dụng trùng với port của tập tin server.py
port = 303
Bước 5: Kết nối tới port đã khai báo
s.connect((host, port))
Bước 6: Tạo vòng lặp while với điều kiện True
while True:
Bước 7: Lấy thông tin từ bàn phím và gửi thông tin đó lên socket
ms = raw_input('Nhap tin nhan: ')
c.send(ms)
Bước 8: Nhận thông tin từ socket và in ra thông tin đó
data = c.recv(1024)
print "\n=> May khach:", data ,"\n"
Bước 9: Đóng kết nối
s.close()
Và đoạn code hoàn chỉnh nhất cho tập tin chatclient.py được thể hiện như bên dưới
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host =  socket.gethostname()
port = 303
s.connect((host, port))
while True:
    ms = raw_input('\nNhap tin nhan: ')
    s.send(ms)
    data = s.recv(1024)
    print "\n=> May chu:", data
s.close()

Chúc các bạn thành công và vui vẻ!

Chia sẻ
Nguyễn Lê Điệp

Nguyễn Lê Điệp

Có sở thích lập trình, viết lách nên đã từng tham gia ở một số diễn đàn, đến năm 2017 mới có điều kiện sáng lập ra blog NguyenLeDiep.Com Đang học tập và làm việc tại thành phố Hồ Chí Minh.