建立Socket服务器的基本步骤如下:
1. 创建一个socket:使用函数`socket()`创建一个用于监听的套接字。参数`AF_INET`表示使用IPv4地址,`SOCK_STREAM`表示使用流式协议(即TCP)。
```python
import socket
HOST = 'localhost' # 服务器IP地址
PORT = 21567 # 服务器端口号
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
```
2. 绑定IP地址和端口:使用`bind()`函数将得到的文件描述符和本地的IP地址及端口进行绑定。
```python
server_address = (HOST, PORT)
server_socket.bind(server_address)
```
3. 开始监听:使用`listen()`函数开始监听,等待客户端的连接请求。
```python
backlog = 5 # 最大连接数
server_socket.listen(backlog)
```
4. 接收客户端连接:使用`accept()`函数接收客户端的连接请求,并返回一个新的套接字用于与该客户端进行通信。
```python
while True:
print('waiting for a connection')
client_socket, client_address = server_socket.accept()
print(f'connection from {client_address}')
```
5. 收发数据:使用`send()`和`recv()`函数或者`read()`和`write()`函数与客户端进行数据的收发。
```python
data = client_socket.recv(1024) # 接收数据
print(f'received {!r}'.format(data))
if data:
sent = client_socket.sendall(data) # 发送数据
print(f'sent {!r}'.format(sent))
```
6. 关闭连接:使用`close()`函数关闭与客户端的连接。
```python
client_socket.close()
```
7. 关闭监听:使用`close()`函数关闭服务器套接字,结束监听。
```python
server_socket.close()
```
这就是建立Socket服务器的基本步骤。需要注意的是,这只是一个简单的示例,实际应用中还需要考虑错误处理、并发连接等问题。此外,还需要根据具体的应用场景选择合适的协议和参数。