昨天学习了接收数据,今天学习发送数据!
一样的导入socket包
import socket
这里不一样的地方,可以直接指定对方的IP以及端口
我这里使用的是手动输入
收发双方的端口号要相同!不然无法接收数据!
socket.gethostname() 获取本机的名字。
# 发送数据 ip = input("输入对方的ip:") port = int(input("输入对方的端口:")) # ip_port = (socket.gethostname(), 9999) #ip_port = ("192.168.3.253", 9999) ip_port = (ip, port)
如果要退出就输入quit,
还有个需要注意的地方就是,如果发送空白数据会出现问题。
while True: date = input("请输入要发送的数据:") if date == "quit": break else: socket_udp.sendto(date.encode("utf-8"), ip_port)
加上昨天的发的可以实现一收一发了。
可以玩个简单的聊天功能
import socket
def main(): # 创建套接字 socket_udp = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 发送数据 ip = input("输入对方的ip:") port = int(input("输入对方的端口:")) # ip_port = (socket.gethostname(), 7890) #ip_port = ("192.168.3.253", 7890) ip_port = (ip, port)
while True: date = input("请输入要发送的数据:") if date == "quit": break else: socket_udp.sendto(date.encode("utf-8"), ip_port)
# 关闭连接 socket_udp.close()
if __name__ == "__main__": main()