码迷,mamicode.com
首页 > 编程语言 > 详细

TCP多线程聊天

时间:2020-04-16 10:28:16      阅读:73      评论:0      收藏:0      [点我收藏+]

标签:target   服务器   请求   listen   utf-8   列表   port   NPU   from   

  • 服务器端
 1 from socket import *
 2 from threading import Thread
 3 sockets = []
 4 def main():
 5     #创建server_socket套接字对象
 6     server_socket = socket(AF_INET,SOCK_STREAM)
 7     #绑定端口
 8     server_socket.bind((‘‘,8889))
 9     #监听
10     server_socket.listen()
11     #接收客户端的请求
12     while True:
13         client_socket,client_info = server_socket.accept()
14         sockets.append(client_socket)
15         #开启线程处理当前客户端的请求
16         t = Thread(target=readMsg,args=(client_socket,))
17         t.start()
18 def readMsg(client_socket):
19     #读取客户端发送过来的消息 
20     while True: 
21         recv_data = client_socket.recv(1024)
22         #将消息发送给所有在线客户端
23         #遍历所有在线客户端列表
24         for socket in sockets:
25             socket.send(recv_data)
26 if __name__ == __main__:
27     main()
  • 客户端
 1 from sock import *
 2 from threading import Thread
 3 def readMsg(client_socket):
 4     while True: 
 5         recv_data = client_socket.recv(1024)
 6         print(收到:,recv_data.decode(utf-8))
 7 def writeMsg(client_socket):
 8     while True:
 9         msg = input(>)
10         client_socket.sent(msg.encode(utf-8))
11 #创建客户端套接字对象
12 client_socket = socket(AF_INET,SOCK_STREAM)
13 #调用connect()连接服务器
14 client_socket.connect((192.168.0.107,8888))
15 #开启一个线程处理客户端的读取消息
16 t = Thread(target=readMsg,args=(client_socket,))
17 t.start()
18 #开启一个线程处理客户端的发送消息
19 t = Thread(target=writeMsg,args=(client_socket,))
20 t.start()

 

TCP多线程聊天

标签:target   服务器   请求   listen   utf-8   列表   port   NPU   from   

原文地址:https://www.cnblogs.com/monsterhy123/p/12710909.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!