python - python socket将数据从客户端发送到服务器
问题描述
我正在构建一个简单的 Python 服务器,它将从客户端接收数据并将其打印在屏幕上。到目前为止,这是我的代码。
服务器代码:
import socket
def server(interface, port):
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
sock.bind((interface, port))
sock.listen(1)
print('Listening at', sock.getsockname())
while True:
sc, sockname = sock.accept()
print('We have accepted a connection from', sockname)
print(' Socket name:', sc.getsockname())
print(' Socket peer:', sc.getpeername())
if __name__ == '__main__':
server('0.0.0.0', 8000)
客户代码:
import socket
def client(host, port):
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((host, port))
print('Client has been assigned socket name', sock.getsockname())
if __name__ == '__main__':
client('localhost', 8000)
无论我如何尝试将数据从客户端发送到服务器,它总是错误地说:传输端点未连接。
解决方案
尝试使用127.0.0.1
或192.168.1.X
(您可以通过ipconfig
在 cmd 中使用找到的私有 ip)而不是本地主机,这对我有用
推荐阅读
- docker - Compute Engine 无法连接到 Container Registry
- c++ - 类模板别名在生成的符号中不应该是可见的,是吗?
- python - Matplotlib 在同一刻度点(时间和日期)显示次要刻度标签和主要刻度标签
- android - 迁移到 Androidx 后 SwitchCompat 为白色
- angular - 在执行 ng build --prod 之后,有什么方法可以从 dist 文件夹中恢复角度(4、5、6、任何版本)源代码?
- java - MysqldResource 不适用于 MacOS Catalina
- filter - 查询如何在 Vapor 中工作?
- cron - 是否可以在 celery 的不同 cron 中安排相同的任务而不重复输入
- azure - 了解 Azure 事件中心分区使用者模式
- python - 在 python 3.6 中使用 UTC 偏移量解析日期时间