知名网站定制报价,七牛云 wordpress,威海网站建设是什么,建筑设计图用什么软件用Python搭建简易的CS架构并通信 文章目录 用Python搭建简易的CS架构并通信前言一、基本结构二、代码编写1.服务器端2.客户端 三、效果展示总结 前言
本文主要是用Python写一个CS架构的东西#xff0c;包括服务器和客户端。程序运行后在客户端输入消息#xff0c;服务器端会…用Python搭建简易的CS架构并通信 文章目录 用Python搭建简易的CS架构并通信前言一、基本结构二、代码编写1.服务器端2.客户端 三、效果展示总结 前言
本文主要是用Python写一个CS架构的东西包括服务器和客户端。程序运行后在客户端输入消息服务器端会收到这条消息。 一、基本结构
需要新建两个py文件一个用来运行服务器端一个用来运行客户端。进行测试时需要保证服务器端和客户端都在运行。 二、代码编写
1.服务器端 代码如下 import sockethost localhost
port 9999sockaddr (host, port)
sk socket.socket()
sk.bind(sockaddr)
sk.listen(100)while True:conn, addr sk.accept()while True:try:data conn.recv(1024)except Exception as ex:print(已断开连接)breakelse:conn.sendall(databytes(已收到.encode(utf-8)))print(data)
可能看不懂的代码解释如下
import socket导入Python内置的socket模块该模块提供了与网络通信相关的功能。host ‘localhost’设置服务器的地址为 ‘localhost’。localhost 表示本机即运行此程序的计算机。port 9999设置服务器的端口号为 9999。端口号是用来标识网络中进程的逻辑地址。sockaddr (host, port)将服务器的地址和端口号组合成一个元组socket地址用于后续的socket操作。sk socket.socket()创建一个socket对象sk用于网络通信。sk.bind(sockaddr)将socket地址绑定到socket对象上这样socket就可以在指定的地址和端口上接收连接。sk.listen(100)将socket设置为监听模式参数100表示最大等待连接队列的长度。conn, addr sk.accept()调用socket对象的accept()方法等待并接受一个客户端的连接请求。返回值是一个包含新连接的socket对象conn和客户端的地址信息addr的元组。data conn.recv(1024)调用新连接的socket对象conn的recv()方法接收客户端发送的数据参数1024表示一次最多接收1024字节的数据。conn.sendall(databytes(‘已收到’.encode(‘utf-8’)))调用新连接的socket对象conn的sendall()方法向客户端发送数据。这里将接收到的数据和字符串已收到已转换为字节串拼接起来发送。 2.客户端
代码如下
import sockethost localhost
port 9999sockaddr (host, port)
ct socket.socket()
ct.connect(sockaddr)while True:message input(请输入要发送的信息)ct.sendall(bytes(message, utf-8))data ct.recv(1024)print(data.decode(utf-8))可能看不懂的代码解释如下
import socket导入Python内置的socket模块该模块提供了与网络通信相关的功能。ct socket.socket()创建一个socket对象ct通常客户端的socket对象命名为ct或client_socket用于网络通信。ct.connect(sockaddr)调用socket对象的connect()方法尝试连接到指定的服务器地址和端口。ct.sendall(bytes(message,‘utf-8’))调用socket对象的sendall()方法将用户输入的消息转换为字节串发送给服务器。这里使用了UTF-8编码。data ct.recv(1024)调用socket对象的recv()方法接收服务器发送的数据参数1024表示一次最多接收1024字节的数据。print(data.decode(‘utf-8’))将接收到的服务器数据字节串解码为字符串并打印出来。这里使用了UTF-8编码。 三、效果展示 总结
这段代码实现了一个简单的TCP客户端它连接到本地主机的9999端口并在循环中不断接收用户的输入将输入的消息发送给服务器然后接收并打印服务器的回复。循环会一直进行直到程序被手动中断。