python socket

Posted changjiangwei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

 

以上是关于python socket的主要内容,如果未能解决你的问题,请参考以下文章

python学习之路

Python之路目录

Python学习之路 目录

Python学习记录-socket编程

给特定用户的消息 Socket Python

为啥 CPython 3.4.3 不能导入“_socket”模块?