网络编程:套接字基于UDP的应用

模拟通信,进行消息的收发

【1】初版server端

from socket import *

print("服务器已启动")
HOST = '0.0.0.0'
PORT = 8888
ADDR = (HOST, PORT)

# 创建套接字
sock = socket(AF_INET, SOCK_DGRAM)

# 绑定地址
sock.bind(ADDR)

# 消息收发
while True:
    data, addr = sock.recvfrom(1024)
    print("Receive from %s:%s" % (addr, data.decode()))
    sock.sendto("收到消息".encode(), addr)

#上面的while循环是死循环,所以这句不会执行。
# 所以无法访问 This code is unreachable.
sock.close()

【1】初版client端

from  socket import *
import sys

#命令行输入服务器地址
if len(sys.argv) < 3:
    print('''
        argv is error !!
        start as 
        python3 udp_client.py 127.0.0.1 8888
        ''')
    raise

HOST = sys.argv[1]
PORT = int(sys.argv[2])
ADDR = (HOST,PORT)

#创建套接字
sockfd = socket(AF_INET,SOCK_DGRAM)

while True:
    data = input("消息:")
    if not data:
        break
    sockfd.sendto(data.encode(),ADDR)
    data,addr = sockfd.recvfrom(1024)
    print("从服务端收到:",data.decode())

sockfd.close()

 

上一篇:18.windows使用select突破64个socket


下一篇:python通过建立长链接,获取动态ip,这种方式可以长时间保持连接