Python-Socket 简单的服务器客户端通信实例
程序员文章站
2022-06-09 22:43:36
当网络上的两个进程需要通信时,他们可以通过使用Socket模块建立套接字并连接在一起。套接字是IP地址和端口号的组合,IP地址标识计算机在网络上的地址,而端口号标识在计算机上运行的进程(程序)。python版本:3.8.5服务端:import socket# 建立一个服务端server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)#参数可以不加server.bind(('localhost', 12345)) # 绑定要监听的端口se...
当网络上的两个进程需要通信时,他们可以通过使用Socket模块建立套接字并连接在一起。套接字是IP地址和端口号的组合,IP地址标识计算机在网络上的地址,而端口号标识在计算机上运行的进程(程序)。
python版本:3.8.5
服务端:
import socket
# 建立一个服务端
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)#参数可以不加
server.bind(('localhost', 12345)) # 绑定要监听的端口
server.listen(5) # 开始监听 表示可以使用五个链接排队
# conn就是客户端链接过来而在服务端为期生成的一个链接实例
while True:
while True:
print('监听中')
conn, addr = server.accept() # 等待链接,多个链接的时候就会出现问题,其实返回了两个值
try:
print('Connected Addresss : ', addr)
conn.send('Your name :'.encode('utf-8'))
data = conn.recv(1024) # 接收数据
print('Client name: ', data.decode()) # 打印接收到的数据
# 然后再发送数据
msg = 'Welcome '+data.decode()
conn.send(msg.encode('utf-8'))
except ConnectionResetError as e:
print(addr, '关闭了与主机的链接!')
break
conn.close()
客户端
import socket # 客户端 发送一个数据,再接收一个数据
# 声明socket类型,同时生成链接对象
try:
client = socket.socket()
client.connect(('localhost', 12345)) # 建立一个链接,连接到本地的12345端,或者换成服务器的IP和端口
print('连接地址:localhost ')
data = client.recv(1024)
print(data.decode())
msg = input()
client.send(msg.encode('utf-8')) # 发送一条信息 python3 只接收byte流
data = client.recv(1024) # 接收一个信息,并指定接收的大小 为1024字节
print('recv msg:', data.decode()) # 输出我接收的信息
except ConnectionResetError:
print('连接中断!')
except ConnectionRefusedError:
print('连接被拒绝')
else:
client.close() # 关闭这个链接
先运行服务端程序,再运行客户端程序,按照提示输入即可。
本文地址:https://blog.csdn.net/P_Bloomberg/article/details/110942421
上一篇: windows驱动开发详解遍历设备栈
下一篇: jQuery load()方法用法总结