开启一个线程,作为服务器,使用socket进行端口监听
时间: 2024-03-13 10:46:46 浏览: 69
socket 局域网传递信息 源代码 可自动监听端口
4星 · 用户满意度95%
好的,以下是一个使用 Python 语言的例子,用于在本地监听指定端口的连接请求:
```python
import socket
import threading
# 服务器地址
HOST = '127.0.0.1'
# 监听端口号
PORT = 8888
def handle_client(client_socket):
'''
处理客户端连接请求的线程函数
'''
# 接收客户端发来的数据
request_data = client_socket.recv(1024)
print('Received:', request_data.decode())
# 发送响应数据给客户端
response_data = 'Hello, Client!'
client_socket.send(response_data.encode())
# 关闭连接
client_socket.close()
def start_server():
'''
启动服务器
'''
# 创建一个 TCP 套接字对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定地址和端口号
server_socket.bind((HOST, PORT))
# 监听端口,等待连接请求
server_socket.listen(5)
print('Server started on port', PORT)
while True:
# 接收客户端连接请求
client_socket, client_address = server_socket.accept()
print('Accepted connection from', client_address)
# 创建一个线程来处理客户端连接请求
client_thread = threading.Thread(target=handle_client, args=(client_socket,))
client_thread.start()
if __name__ == '__main__':
start_server()
```
这个例子中,我们首先创建了一个 TCP 套接字对象,并绑定了地址和端口号。然后使用 `listen()` 方法开始监听端口,并在一个循环中等待客户端连接请求。当有客户端连接请求时,我们创建一个新的线程来处理该请求,并在其中执行 `handle_client()` 函数。在这个函数中,我们可以处理客户端发送的数据,并向客户端发送响应数据。最后,我们关闭连接,结束线程。
阅读全文