socket.AF_INET, socket.SOCK_STREAM
时间: 2023-12-16 17:05:43 浏览: 104
`socket.AF_INET`和`socket.SOCK_STREAM`是Python中socket模块中的两个常量。其中,`AF_INET`表示使用IPv4地址族,`SOCK_STREAM`表示使用TCP协议进行通信。
在第一个引用中,`socket.socket()`函数用于创建一个新的套接字对象。`socket_family`参数指定地址族,`socket_type`参数指定套接字类型,`proto`参数指定协议。在这个例子中,`AF_INET`表示使用IPv4地址族,`SOCK_STREAM`表示使用TCP协议进行通信,`proto=0`表示使用默认协议。
在第二个引用中,`socket.socket()`函数同样用于创建一个新的套接字对象。`AF_INET`表示使用IPv4地址族,`SOCK_STREAM`表示使用TCP协议进行通信。如果创建套接字对象时出现错误,会抛出`socket.error`异常,并输出错误信息。`sys.exit(1)`表示以状态码1退出程序。
以下是一个简单的例子,演示如何使用`socket.AF_INET`和`socket.SOCK_STREAM`建立TCP连接:
```python
import socket
# 创建一个TCP/IP套接字
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接到远程主机
server_address = ('localhost', 10000)
sock.connect(server_address)
# 发送数据
message = 'Hello, world!'
sock.sendall(message.encode())
# 接收数据
data = sock.recv(1024)
print('Received:', data.decode())
# 关闭套接字
sock.close()
```
阅读全文