下面的代码实现的功能是:使用ipv4和udp协议接收和发送数据,客户端只能发送一条消息,让后等待对方回复,如此重复,当双方都发送exit时结束通讯。单线程实现。
import socket
#创建套接字
send_socket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
# 绑定IP及端口号
send_socket.bind(("ip地址", 端口号))
def main():
while True:
while True:
#发送信息
socket_data = input(": ")
#打印信息
send_socket.sendto(socket_data.encode("utf-8"), ("IP地址", 端口号))
break
while True:
# 接收数据
rul_data = send_socket.recvfrom(1024)
#打印数据
print(":%s"%(rul_data[0].decode("utf-8")))
break
if socket_data == "exit" and rul_data == "exit" :
# 关闭套接字
send_socket.close()
break
if __name__ == '__main__':
main()