用python写一个socket服务端代码
时间: 2023-12-25 11:55:27 浏览: 79
以下是一个简单的 Python Socket 服务端代码:
```python
import socket
HOST = '127.0.0.1' # 本机IP地址
PORT = 8888 # 端口号
# 创建socket对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定IP地址和端口号
server_socket.bind((HOST, PORT))
# 监听连接
server_socket.listen()
print(f'Server is running on {HOST}:{PORT}')
# 等待客户端连接
client_socket, client_address = server_socket.accept()
print(f'Connected by {client_address}')
# 接收数据
data = client_socket.recv(1024)
# 处理数据
print(f'Received: {data.decode()}')
# 发送响应数据
client_socket.sendall('Hello, client!'.encode())
# 关闭连接
client_socket.close()
server_socket.close()
```
这个服务端代码会监听本机的 8888 端口,等待客户端连接,一旦连接成功,就会接收客户端发送的数据,并向客户端发送响应数据,最后关闭连接。
相关问题
python 写一个socket 服务端代码示例
好的,请稍等,以下是 Python 编写一个简单的 socket 服务端代码示例:
```python
import socket
# 创建一个 TCP/IP 套接字
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 将套接字绑定到任意端口
server_address = ('localhost', 8888)
print('starting up on {} port {}'.format(*server_address))
server_socket.bind(server_address)
# 设置在拒绝连接之前,操作系统可以挂起的最大连接数量
server_socket.listen(1)
while True:
# 等待客户端连接
print('waiting for a connection')
client_socket, client_address = server_socket.accept()
try:
print('connection from', client_address)
# 接收客户端发送的数据
while True:
data = client_socket.recv(1024)
if data:
print('received {!r}'.format(data))
client_socket.sendall(data)
else:
break
finally:
# 清理连接
client_socket.close()
```
请确认您已经成功复制了以上代码,并且可以正常运行。如果您有其他的问题或者需要更加详细的解答,请随时提出,我将会尽可能的帮助您。
用Python写一个UDP服务端
在Python中,你可以使用socket库来创建一个简单的UDP(User Datagram Protocol)服务端。以下是一个基本的例子,展示如何监听客户端请求并发送回应:
```python
import socket
# 创建一个 UDP socket
server_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 获取本地主机名
host = socket.gethostname()
port = 9999 # 指定监听的端口
# 绑定服务器地址和端口
server_socket.bind((host, port))
print(f"UDP server started on {host}:{port}")
while True:
# 接收客户端的数据
message, client_address = server_socket.recvfrom(1024) # 限制接收数据的大小
print(f"Received message from {client_address}: {message.decode('utf-8')}")
# 回应客户端
response = "Hello from the UDP server!"
server_socket.sendto(response.encode('utf-8'), client_address)
# 可选:如果需要处理特定业务逻辑,可以在这里替换response变量的内容
# 关闭socket连接
server_socket.close()
```
在这个例子中,服务器会持续监听指定的端口,并对接收到的UDP消息做出回应。如果你想添加更多功能或错误处理,可以根据需要进行修改。
阅读全文