self.socket_client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
时间: 2025-01-02 13:37:53 浏览: 19
### 创建TCP套接字客户端
为了创建一个TCP套接字客户端,可以使用Python内置的`socket`库。下面是一个完整的例子,展示了如何通过该库建立到服务器的连接并进行简单的消息传递。
#### 导入必要的模块
首先需要导入`socket`模块:
```python
import socket
```
#### 初始化客户端套接字对象
接着定义一个新的套接字对象用于表示客户端,并指定地址簇为IPv4 (`AF_INET`) 和协议类型为流式传输服务(`SOCK_STREAM`),这正是TCP所使用的设置[^1]。
```python
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
```
#### 连接到远程主机
使用`.connect()`方法向目标服务器发起请求尝试建立连接。这里假设本地运行的服务位于`localhost`上监听着端口6666:
```python
client.connect(("localhost", 6666))
```
#### 发送与接收数据
一旦建立了成功的连接,则可以通过调用`.sendall()`发送字符串编码后的字节给对方;而要读取来自服务器的信息则可借助于`.recv(buffer_size)`函数,其中buffer_size参数指定了缓冲区大小,在此设为1024意味着最多能一次性接受1KB的数据量[^4]:
```python
while True:
msg = input("发送数据: ").strip()
if not msg:
break
client.sendall(bytes(msg, encoding="utf-8"))
data = client.recv(1024)
print(f"收到数据: {data.decode('utf-8')}")
```
#### 关闭连接
当完成所有的交互之后应当记得关闭这个连接以释放资源:
```python
client.close()
```
以上就是构建一个基本TCP客户端所需的全部步骤。这段代码会持续等待用户输入直到遇到空行为止,期间任何非空白字符组成的命令都会被转发至远端机器处理后再回显结果回来显示出来。
阅读全文