Python socket通信基础
UDP
先启动服务端再启动客户端,客户端可以多开,由于客户端没有指定端口号,每次都是随机的端口。
#服务端
import socket
import time
BUFSIZE = 1024
def main():
ip_port = ('', 14554)
#sock.SOCK_DGRAM是基于UDP
#SOCK_STREAM是基于TCP
server = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
#服务端用于将把用于通信的地址和端口绑定到 socket 上
server.bind(ip_port)
while True:
print('正在监听listening.....')
#用来接收数据,BUFSIZE用来标识大小,最大字节数
data, addr = server.recvfrom(BUFSIZE)
print('Received frome {}:'.format(addr))
print(data)
response = b"Hello, this server1, I received: "
#发送数据
server.sendto(response + data, addr)
server.close()
if __name__ == '__main__':
main()
#客户端
import socket
import time
BUFSIZE = 1024
def main():
client = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
#指定目的端口号
ip_port = ('127.0.0.1', 14554)
client.sendto(b"hello this is udp client1",ip_port)
data, addr = client.recvfrom(BUFSIZE)
print("Received from: {}".format(addr))
print(data)
client.close()
if __name__ == '__main__':
main()
做个记录学习使用。
PythonSocket基础:UDP通信实例,
文章详细介绍了如何在Python中使用socket进行UDP通信,包括服务端启动监听并响应客户端数据,以及客户端向服务器发送数据的基本步骤。
457





