2020/01/14 04-TCP客户端编程和群聊客户端实现

客户端编程,也需要有socket对象,连接到远程的服务器端,connet。传输数据,recv和send,用完close
在这里插入图片描述
创建一个server在这里插入图片描述
这样就没问题了在这里插入图片描述
raddr 对端端口,也就是服务器的在这里插入图片描述
链接之后,可以开始进行通信了,send一般会有个字节数,可以打印一下,send需要转换成bytes
在这里插入图片描述
链接之后会有对端地址
在这里插入图片描述
现在把软件关掉在这里插入图片描述
改用python写的代码
在这里插入图片描述
在这里插入图片描述
现在server等待链接,使用client端修改ip链接
在这里插入图片描述
这里收到,说明发送成功在这里插入图片描述
client还可以recv
在这里插入图片描述
重新启动服务端,因为是recv,所以收到消息就退出了在这里插入图片描述在这里插入图片描述
现在这样就可以和服务端进行通讯了

客户端起个socket链接connect服务器,然后recv,send,该关闭关闭在这里插入图片描述
现在需要把客户端改造成一个class
在这里插入图片描述
修改服务器端代码,ack表示确认,返回给客户端的数据应该是变化的
在这里插入图片描述
start客户端开始通信,stop断开,循环发送数据
在这里插入图片描述
quit就需要调用cc.stop,如果不想退出,就是用send,把msg传出去,在这里插入图片描述
就需要send方法,encode转换成bytes在这里插入图片描述
send之后,因为是群聊,所以就需要收到信息,循环等待别人发送数据
在这里插入图片描述
链接建立,启动recv没有关系(阻塞的另外的线程),每收到消息,打印一下在这里插入图片描述
主线程因为要等待用户输入,send方法其实可以不开线程在这里插入图片描述
另外一种写法
在这里插入图片描述
while true 可以用event替代
在这里插入图片描述
现在运行服务端程序
在这里插入图片描述
客户端写好了
在这里插入图片描述

有了servee打底,写的时候就知道client应该抽象什么,有哪些功能
在这里插入图片描述
启动服务端
在这里插入图片描述
启动多个客户端
在这里插入图片描述
这就是群聊
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
socket关闭的时候有可能需要花几秒的时间,wait等一小会,保证关闭
在这里插入图片描述在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值