在Python中进行网络编程,主要使用`socket`模块。下面是一个简单的TCP服务器和客户端的示例代码,以及它们的使用方法:
TCP服务器端代码
import socket
def start_server():
创建服务器套接字
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
绑定IP地址和端口号
server_socket.bind(('localhost', 12345))
开始监听连接,最多允许5个连接排队
server_socket.listen(5)
print('服务器已启动,等待连接...')
while True:
接受客户端连接
client_socket, client_address = server_socket.accept()
print(f'客户端连接:{client_address}')
接收数据并发送回应
data = client_socket.recv(1024)
print(f'接收到的数据:{data.decode()}')
client_socket.sendall('Hello from server!'.encode())
关闭连接
client_socket.close()
if __name__ == '__main__':
start_server()
TCP客户端代码
import socket
def create_client():
创建客户端套接字
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
连接到服务器
client_socket.connect(('localhost', 12345))
发送数据
client_socket.sendall('你好,服务器!'.encode())
接收回应
data = client_socket.recv(1024)
print(f'收到来自服务器的消息:{data.decode()}')
关闭连接
client_socket.close()
if __name__ == '__main__':
create_client()
使用说明
创建服务器
使用`socket.socket(socket.AF_INET, socket.SOCK_STREAM)`创建一个TCP套接字。
使用`server_socket.bind(('localhost', 12345))`绑定IP地址和端口号。
使用`server_socket.listen(5)`开始监听,最多允许5个连接排队。
使用`server_socket.accept()`接受客户端连接。
使用`client_socket.recv(1024)`接收客户端发送的数据。
使用`client_socket.sendall('Hello from server!'.encode())`发送回应给客户端。
使用`client_socket.close()`关闭连接。
创建客户端
使用`socket.socket(socket.AF_INET, socket.SOCK_STREAM)`创建一个TCP套接字。
使用`client_socket.connect(('localhost', 12345))`连接到服务器。
使用`client_socket.sendall('你好,服务器!'.encode())`发送数据给服务器。
使用`client_socket.recv(1024)`接收服务器的回应。
使用`client_socket.close()`关闭连接。
以上代码展示了如何使用Python的`socket`模块进行基本的网络编程,包括创建服务器和客户端,以及它们之间的数据交换。您可以根据需要修改IP地址、端口号和程序逻辑来适应不同的网络环境。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/7875.html