python socket
TCP连接
简易的聊天软件
1 import socket 2 3 sk = socket.socket() # 创建socket对象 4 sk.bind(("127.0.0.1",8080))# 绑定ip端口 5 sk.listen() # 监听信息 6 conn,addr = sk.accept() # 监听到连接信息和地址 7 print("连接成功!连接者:",addr) 8 while True: 9 ret = conn.recv(1024).decode("utf8") # 接收信息 10 print(ret) 11 if ret == "bye": 12 break 13 info = input(">>>") 14 conn.send(bytes(info,encoding="utf8"))#发送信息
1 import socket 2 3 sk = socket.socket() 4 sk.connect(("127.0.0.1",8080)) 5 while True: 6 info = input(">>>") 7 sk.send(bytes(info,encoding="utf8")) 8 ret = sk.recv(1024).decode("utf8") 9 print(ret) 10 if ret == "bye": 11 sk.send(b"bye") 12 break
TCP长连接
一次只允许一个程序连接,第二个程序只能等待第一个程序断开连接后才能连接
UDP连接
1 import socket 2 3 sk = socket.socket(type=socket.SOCK_DGRAM)#创建UDP socket 对象 4 sk.bind(("127.0.0.1",8080))# 绑定IP端口 5 msg,addr = sk.recvfrom(1024)# 接收信息 6 # msg 信息 7 # addr 地址 8 print(msg) 9 sk.sendto(b"hello",addr) # 发送信息,需要带地址 10 sk.close()# 关闭
1 import socket 2 sk = socket.socket(type=socket.SOCK_DGRAM) #创建UDP socket 对象 3 ip_prot = ("127.0.0.1",8080) # 设置要发送的地址 4 sk.sendto(b"hi",ip_prot) # 发送消息 5 msg,addr = sk.recvfrom(1024) # 接收消息 6 print(msg)