python - 如何使用 url 将 python 套接字客户端连接到服务器套接字?

标签 python sockets

我正在尝试创建一个客户端来连接到具有给定 URL 地址的服务器。

我就是这样用的

host_ip = socket.gethostbyname('HOST_NAME')
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.bind(('127.0.0.1', 0))
sock.connect((host_ip, 8080))

但打印出以下错误

OSError: [Errno 22] Invalid argument

有人可以解释一下为什么错误并给我一个解决方案吗?

最佳答案

您不必绑定(bind)您的套接字,这是在服务器端完成的。

这是来自 documentation for socket 的示例代码:

import socket

HOST = 'your-url.net'    # The remote host
PORT = 8080              # The same port as used by the server
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
    s.connect((HOST, PORT))
    s.sendall(b'Hello, world')
    data = s.recv(1024)
print('Received', repr(data))

这是一个简单的代码片段,它连接到服务器,发送一些数据,并打印响应。

关于python - 如何使用 url 将 python 套接字客户端连接到服务器套接字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43018992/

相关文章:

java - java中广播和组播代码的区别

Python 套接字错误弹性/解决方法

java - 计算通过套接字发送/接收的数据的带宽速度?

node.js - 将 TCP 客户端的主机名发送到 Node JS 中的服务器

linux - 发送数据时是否可以选择网络适配器

python - 从所有数据框列中删除子字符串

python datetime以毫秒精度 float

python - 一种拆分串联名称的算法

python - 如何使用 matplotlib 绘制复数(Argand 图)

python模块突然出现