java服务端循环发送_socket 客户端服务端循环发送消息(示例代码)

本文展示了如何在Java中实现一个服务端和客户端的循环通信示例。服务端通过`socket`监听特定IP和端口,接收客户端发送的数据,如果接收到的不是'q',则回传一个包含原始数据和'返回值'的消息。客户端连接服务端,输入信息并发送,接收服务端的回复,直至输入'q'结束通信。要运行此示例,必须先启动服务端,然后启动客户端。
摘要由CSDN通过智能技术生成

服务端:

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)自己完成的

#客户端 是先发送,然后再接受

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值