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客户端发送头消息和消息体到服务端并接收返回信息,这个头消息怎么写

采用tcp协议,使用socket编程,编写程序完成客户端发送消息给服务端,服务端接到消息后,再发

python-利用socket客户端服务端循环收发消息

python-利用socket客户端服务端循环收发消息

客户端服务端循环收发消息