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"))#发送信息
server
 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
client

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()# 关闭
server
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)
client

 

posted @ 2019-08-19 18:14  长江尾  阅读(138)  评论(0编辑  收藏  举报