udp 服务端 | udp 客户端 --循环发消息

# ### udp 循环发消息 服务端
import socket
sk = socket.socket(type=socket.SOCK_DGRAM)
# 绑定地址(在网络上注册该主机,让别人找到你)
sk.bind(  ("127.0.0.1",9000)  )

while True:
	msg,cli_addr = sk.recvfrom(1024)
	print(cli_addr)
	print(msg.decode("utf-8"))
	
	message = input("我要说的话>>")
	# cli_addr ('127.0.0.1', 58745)
	sk.sendto(message.encode("utf-8") , cli_addr)


# 关闭udp连接
sk.close()
# ### udp 循环发消息 客户端
import socket
sk = socket.socket(type=socket.SOCK_DGRAM)

while True:
	# 发送数据
	message = input("要发送的消息>>")
	sk.sendto( message.encode("utf-8") , ("127.0.0.1" , 9000) )

	# 接受数据
	msg,addr = sk.recvfrom(1024)
	print(msg.decode("utf-8"))
# 关闭udp连接
sk.close()

  

转载于:https://www.cnblogs.com/huangjiangyong/p/10960930.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当然!以下是一个简单的Python UDP客户端服务端的代码示例: UDP服务端代码: ```python import socket # 创建一个UDP socket server_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # 绑定IP地址和端口号 server_address = ('localhost', 12345) server_socket.bind(server_address) print("UDP服务端已启动,等待客户端发送消息...") while True: # 接收客户端发送的数据和客户端地址 data, client_address = server_socket.recvfrom(1024) print(f"接收到来自客户端 {client_address} 的消息:{data.decode()}") # 处理接收到的数据,这里可以根据具体需求进行相应的处理逻辑 # 向客户端发送响应数据 response = "已收到你的消息!" server_socket.sendto(response.encode(), client_address) ``` UDP客户端代码: ```python import socket # 创建一个UDP socket client_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # 服务端地址 server_address = ('localhost', 12345) while True: # 发送数据到服务端 message = input("请输入要发送的消息:") client_socket.sendto(message.encode(), server_address) # 接收服务端的响应数据 data, server_address = client_socket.recvfrom(1024) print(f"接收到服务端的响应:{data.decode()}") ``` 以上代码示例中,服务端使用`socket.socket()`创建一个UDP socket对象,然后绑定IP地址和端口号,并在循环中接收客户端发送的数据。客户端同样使用`socket.socket()`创建一个UDP socket对象,然后通过`sendto()`方法发送数据到服务端,并通过`recvfrom()`方法接收服务端的响应数据。 请注意,UDP是一个无连接的协议,因此在UDP通信中,客户端服务端之间并没有建立持久的连接。每次通信都是通过发送和接收数据报进行。此示例仅展示了一个简单的UDP客户端服务端实现,并未处理异常情况和错误处理等复杂情况。在实际应用中,可能需要根据具体需求进行适当的扩展和改进。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值