使用 Python 的 socket 库来实现一个简单的 Socket 示例
以下是一个简单的服务器端和客户端的例子:服务器端:
python import socket # 创建 socket 对象 serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 获取本地主机名 host = socket.gethostname() # 设置端口号 port = 9999 # 绑定端口号 serversocket.bind((host, port)) # 设置监听队列 serversocket.listen(5) while True: # 建立客户端连接 clientsocket, addr = serversocket.accept() print("连接地址: %s" % str(addr)) msg = '欢迎访问我的服务器!' + "\r\n" clientsocket.send(msg.encode('utf-8')) clientsocket.close()
客户端:
python import socket # 创建 socket 对象 clientsocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 获取本地主机名 host = socket.gethostname() # 设置端口号 port = 9999 # 连接服务,指定主机和端口号 clientsocket.connect((host, port)) # 接收小于 1024 字节的数据 msg = clientsocket.recv(1024) clientsocket.close() print(msg.decode('utf-8'))
以上示例中,服务器端首先创建了一个 Socket 对象,并设置端口号,然后通过 bind() 方法将该 Socket 对象绑定到指定的主机和端口号,最后通过 listen() 方法设置监听队列。当有客户端连接时,accept() 方法将返回一个新的 Socket 对象和客户端地址,服务端利用该 Socket 对象与客户端通信。客户端创建 Socket 对象后通过 connect() 方法连接服务器端,随后通过 send() 方法发送数据,并等待服务器端的响应,最后通过 close() 方法关闭 Socket 连接。