用多线程实现多用户同时收发的简单socket服务端

本文介绍了如何使用Python的socket和多线程实现一个能同时处理多个客户端连接并进行收发数据的socket服务端。通过在主线程中处理发送信息,在等待连接和接收信息的进程中创建新线程,实现并发处理。尽管在接收数据时命令行显示可能不够整洁,但不影响实际的发送功能。
摘要由CSDN通过智能技术生成

简单的socket代码和多线程练习

用socket服务端和多线程实现可以连接多个客户端并同时收发的功能。

这里要用到socket 和 threading

一、创建socket服务端

首先,按正常操作,创建一个socket,选择ipv4和数据流:

socketServer = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 通过socket模块获取本地ip,并绑定ip和端口号,设置监听数量
socketServer.bind((socket.gethostbyname(socket.gethostname()), 8080))
socketServer.listen(5)      #这里监听数量和创建的接收线程数应保持一致 

# 然后设置两个全局变量,以便线程中的得到的客户端信息和ip传出,方便选择发送信息

global Cilents, addrips
Cilents = []
addrips = []
二、多线程

考虑到多个客户端连接,就需要把等待连接、接收信息、发送信息其中两个个丢到多线程中,我选择把发送信息放在主线程,并在等待连接的进程中再创建接收信息的进程:


 
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值