什么是 Socket?
Socket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通讯。
简单实例
#-*-coding:utf-8-*-
#服务器端
import socket
server = socket.socket()
server.bind(('localhost',6969)) #绑定要监听端口
server.listen(5) #监听,最多可以允许多少个连接(异步的时候使用)
print("我要开始等电话了")
while True:
conn, addr = server.accept() # 等电话打进来
# conn就是客户端连过来而在服务器端为其生成的一个连接实例
print(conn, addr)
print("电话来了")
while True:
data = conn.recv(1024)
print("recv:",data)
#判断收到的数据是否为空
if not data:
print("client has lost...")
break
#返回数据
conn.send(data.upper())
#-*-coding:utf-8-*-
#客户端
import socket
client = socket.socket() #声明socket类型,同时生成socket连接对象
client.connect(('localhost',6969))
while True:
msg = input(">>:").strip()
#不能发送空,空则重新输入
if len(msg) == 0:continue
client.send(msg.encode("utf-8"))
#.recv(10240)要接收到时字节
data = client.recv(10240)
print("recv:",data.decode())