0
点赞
收藏
分享

微信扫一扫

如何创建连接客户端socket【Python】

Sky飞羽 2022-01-26 阅读 86

实现思路:

  1. 创建客户端套接字
    1.1 导入socket模块
    1.2 创建socket
    1.3 将hostname和port记录保存到一个元组中
    1.4 使用socket中的connect()方法建立给定地址连接,并将元组添加到connect()中
  2. 发送数据
    2.1 将发送的内容记录保存
    2.2 使用encode()将内容转换为bytes数据类型
    2.3 使用send()发送内容
  3. 接收数据
    3.1 使用recv()方法对服务器接手的套接字作出反应缓冲区,指定一次接收的最大字节数
    3.2 使用decode()进行解码
    3.3 close()关闭套接字

# 1.1导入socket模块
import socket
# 1.2创建socket
client_socket = socket.socket()
hostname = '127.0.0.1'
port = 9090
# 1.3将hostname和port记录保存到一个元组中
address = (hostname, port)
# 1.4使用socket中的connect()方法建立给定地址连接,并将元组添加到connect()中
client_socket.connect(address)

# 2.1将发送的内容记录保存
data = 'Hello'
# 2.2使用encode()将内容转换为bytes数据类型
data = data.encode()
# 2.3使用send()发送内容
client_socket.send(data)

# 3.1使用recv()方法对服务器接手的套接字作出反应缓冲区,指定一次接收的最大字节数
response = client_socket.recv(1024)
# 3.2使用decode()进行解码
response = response.decode()
print(response)
# 3.3close()关闭套接字
client_socket.close()

拓展:

为了避免最后忘记关闭socket,可以使用with…as…关键词。如您所见,变化不大,但在这里我们可以确保连接将安全关闭并且不会出现错误!


import socket

# 使用套接字作为上下文管理器
with socket.socket() as client_socket:
    hostname = '127.0.0.1'
    port = 9090
    address = (hostname, port)
    client_socket.connect(address)

    data = 'Hello'
    data = data.encode()
    client_socket.send(data)

    response = client_socket.recv(1024)
    response = response.decode()
    print(response)
举报

相关推荐

0 条评论