socket如何通信
- 编程技术
- 2025-02-03 13:23:22
- 1
Socket 是一种用于实现网络通信的接口,它允许两个程序在不同的计算机上通过网络进行数据交换。以下是使用 Socket 进行通信的基本步骤: 1. 创建 Socket...
Socket 是一种用于实现网络通信的接口,它允许两个程序在不同的计算机上通过网络进行数据交换。以下是使用 Socket 进行通信的基本步骤:
1. 创建 Socket
需要创建一个 Socket。Socket 可以是 TCP 或 UDP 的。
TCP Socket:提供可靠的、面向连接的服务。
UDP Socket:提供不可靠的、无连接的服务。
```python
import socket
创建 TCP Socket
tcp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
创建 UDP Socket
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
```
2. 连接
对于 TCP Socket,需要连接到服务器。
```python
连接到服务器
tcp_socket.connect(('127.0.0.1', 12345))
```
3. 发送和接收数据
TCP Socket:
```python
发送数据
tcp_socket.sendall(b'Hello, world!')
接收数据
data = tcp_socket.recv(1024)
print('Received:', data.decode())
```
UDP Socket:
```python
发送数据
udp_socket.sendto(b'Hello, world!', ('127.0.0.1', 12345))
接收数据
data, addr = udp_socket.recvfrom(1024)
print('Received:', data.decode(), 'from', addr)
```
4. 关闭 Socket
通信完成后,关闭 Socket。
```python
关闭 TCP Socket
tcp_socket.close()
关闭 UDP Socket
udp_socket.close()
```
示例:TCP 服务器和客户端
TCP 服务器
```python
import socket
创建 TCP Socket
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
绑定到端口
server_socket.bind(('127.0.0.1', 12345))
监听连接
server_socket.listen()
接受连接
conn, addr = server_socket.accept()
print('Connected by', addr)
通信
with conn:
while True:
data = conn.recv(1024)
if not data:
break
print('Received:', data.decode())
conn.sendall(data)
```
TCP 客户端
```python
import socket
创建 TCP Socket
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
连接到服务器
client_socket.connect(('127.0.0.1', 12345))
通信
with client_socket:
while True:
data = input()
client_socket.sendall(data.encode())
data = client_socket.recv(1024)
print('Received:', data.decode())
```
这样,你就完成了使用 Socket 进行通信的基本流程。希望这能帮助你!
本文链接:http://www.xinin56.com/bian/445337.html
上一篇:文件不显示后缀pdf如何处理