TCP模拟QQ聊天案例
生活随笔
收集整理的這篇文章主要介紹了
TCP模拟QQ聊天案例
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
服務器端:
from socket import *server_socket=socket(AF_INET,SOCK_STREAM)server_socket.bind(('',8008)) #todo 監聽服務器的socket,listen讓socket處于被動。就可以接收客戶端的連接請求了 server_socket.listen(1)while True:#todo 4、等待客戶端的連接請求, 當前函數是線程阻塞的函數,accept返回2個值,第一個:新的socket,第二個:客戶端地址new_socket,client_host_port=server_socket.accept()while True:recv_data=new_socket.recv(1024)if len(recv_data)>0: #客戶端沒有退出,而且發送數據到服務器print('客戶端:',recv_data.decode('utf-8'))if recv_data.decode('utf-8')=='exit':print('客戶端已經退出')break#發送數據給客戶端send_data=input('send:')if len(send_data)>0:new_socket.send(send_data.encode('utf-8'))new_socket.close() server_socket.close()客戶端:
from socket import *client_socket=socket(AF_INET,SOCK_STREAM)client_socket.connect(('192.168.199.165',8008))while True:send_data=input('send:')if len(send_data)>0:client_socket.send(send_data.encode('utf-8'))if send_data=='exit':client_socket.close()break#客戶端接收服務器返回的內容recv_data=client_socket.recv(1024)print('服務器:',recv_data.decode('utf-8'))client_socket.close()運行結果:
總結
以上是生活随笔為你收集整理的TCP模拟QQ聊天案例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python网络编程—TCP协议(一)
- 下一篇: python网络编程—UDP的echo服