socket 客户端服务端循环发送消息
Posted 阜阳小全
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了socket 客户端服务端循环发送消息相关的知识,希望对你有一定的参考价值。
服务端:
from socket import * #这种插入方法,可以直接省略‘socket.’ ip_d = (‘192.168.1.4‘,999) lenth_b = 1024 rivers = 5 service_motion = socket(AF_INET,SOCK_STREAM) #次方法与service_motion = socket.socket(socket.AF_INET,socket.SOCK_STREAM) ‘‘‘ 次方法与service_motion = socket.socket(socket.AF_INET,socket.SOCK_STREAM) ‘‘‘ service_motion.bind(ip_d) service_motion.listen(rivers) conn,addr = service_motion.accept() while True: get_g = conn.recv(lenth_b) #接受客户端发送过来的数据bian‘yi print(‘服务端发送的信息是‘,get_g.decode(‘utf8‘)) #打印编译后的get_g if get_g.decode(‘utf-8‘) != ‘q‘: #判断编译后的值是否是q,如果不是q,则给客户端返回一个值,否则,break conn.send((‘%s%s‘ %(get_g,‘返回值‘)).encode(‘utf8‘)) else:break conn.close() service_motion.close() #服务端的接受与发送都是用conn来完成的 #服务端是先接受,再发送
客户端:
from socket import * ip_d = (‘192.168.1.4‘,999) lenth_b = 1024 rivers = 5 user = socket(AF_INET,SOCK_STREAM) user.connect(ip_d) while True: at = input(‘输入:‘).strip().lower() #输入值 user.send(at.encode(‘utf8‘)) #将输入的值编码后发送给服务端 ge = user.recv(lenth_b) #接受服务端的返回值,并附给ge print(‘客户端收到的内容是‘,ge.decode(‘utf_8‘)) #打印ge if at != ‘q‘:continue else:break user.close() #总结 #先运行服务端,然后才能运行客户端 #客户端的发送和链接都是客户端名(user)自己完成的 #客户端 是先发送,然后再接受
以上是关于socket 客户端服务端循环发送消息的主要内容,如果未能解决你的问题,请参考以下文章
Socket压力测试问题,服务端Socket长连接循环接收并处理信息
java或者scala写socket客户端发送头消息和消息体到服务端并接收返回信息,这个头消息怎么写