python使用socket进行tcp和udp通信

    xiaoxiao2023-11-08  179

    首先是进行udp的通信,udp是面向无连接的通信,具体的客户端与服务端代码如下所示: 1.客户端代码:

    import socket #网络通信 TCP,UDP udp=socket.socket(socket.AF_INET,socket.SOCK_DGRAM) while True: data=input("输入消息") udp.sendto(data.encode("utf-8"),("127.0.0.1",8848))#发消息 print(udp.recv(1024).decode("utf-8"))#收消息 udp.close()

    2.服务端代码:

    import socket #网络通信 TCP,UDP import time udpsever=socket.socket(socket.AF_INET,socket.SOCK_DGRAM) udpsever.bind(("127.0.0.1",8848)) #绑定这个端口,接收这个端口的消息 while True: data,addr=udpsever.recvfrom(1024) #1024 缓冲区 print("来自",addr,"消息",data) senddata=(data.decode("utf-8")+str(time.time())).encode("utf-8") udpsever.sendto(senddata,addr) #发送数据到指定的地址

    接下来是TCP的连接 1.客户端代码:

    import socket #socket.SOCK_STREAM TCP,socket.SOCK_DGRAM UDP clientTCP=socket.socket(socket.AF_INET,socket.SOCK_STREAM)#TCP通信 clientTCP.connect(("127.0.0.1",9988)) #IP ,端口 while True: data=input("go") #输入消息 clientTCP.send(data.encode("utf-8"))#发送消息 data=clientTCP.recv(1024)#收消息 print(data.decode("utf-8")) clientTCP.close() #关闭

    2.服务端代码:

    import socket import time import os SeverTCP=socket.socket(socket.AF_INET,socket.SOCK_STREAM)#TCP通信 SeverTCP.bind(("127.0.0.1",9988)) #IP ,端口 SeverTCP.listen(5)#最多收5个客户端 clientsock,clientaddr=SeverTCP.accept() #返回链接,返回地址 while True: data=clientsock.recv(1024)#缓冲区接收 print("收到",data.decode("utf-8")) os.system( data.decode("utf-8")) #要发送的消息 senddata= (data.decode("utf-8")+str(time.time())).encode("utf-8") clientsock.send(senddata) #发送 clientsock.close() SeverTCP.close()#关闭
    最新回复(0)