当前位置: 首页 > 知识库问答 >
问题:

我的Python套接字程序[WinError 10057]有问题

尹雅健
2023-03-14

我正在编写一个简单的客户机-服务器套接字程序,可以在两台不同的计算机上运行。服务器是一个静态ip地址的桌面,客户端是一台连接到无线网络的笔记本电脑。两者都使用视窗10作为操作系统。我还打开了防火墙端口。

这是我的密码。此代码在一台计算机中运行良好,但当另一台计算机(我的笔记本电脑)尝试连接到服务器时,会出现WinError 10057。

server.py

from socket import *
import sys

HOST = '0.0.0.0'
PORT = 16161
BUFSIZE = 1024
ADDR = (HOST, PORT)
CLIENT_NUM = 5

serverSocket = socket(AF_INET, SOCK_STREAM)

serverSocket.bind(ADDR)
print('bind')

serverSocket.listen(CLIENT_NUM)
print('listen')

while True:
    try:
        connectionSocket, addr_info = serverSocket.accept()
        print('accept')
        print('--client information--')
        print(connectionSocket)

        data = connectionSocket.recv(BUFSIZE)
        print('Received data:', data.decode())
        connectionSocket.send('OK'.encode())
        connectionSocket.close()

    except KeyboardInterrupt:
        sys.exit(0)

client.py

from socket import *
import sys

HOST = '*.*.*.*'    # server's ip address
PORT = 16161
BUFSIZE = 1024
ADDR = (HOST, PORT)

clientSocket = socket(AF_INET, SOCK_STREAM)

try:
    clientSocket.connect_ex(ADDR)
    clientSocket.send('Hello!'.encode())    # WinError 10057 occurs
except Exception as e:
    print(e)
    print('%s:%s' % ADDR)
    sys.exit(1)

print('connect is success')

receive = clientSocket.recv(BUFSIZE)
print(receive.decode())

clientSocket.close()

共有1个答案

鄂和璧
2023-03-14

我已经修好了。我要求我的组织打开防火墙端口,当防火墙端口打开时,连接成功。

 类似资料:
  • 我编写了一个套接字服务器程序员: 为什么找不到? 编辑-01 我把这行插入我的第一行。

  • 如何让SocketIo在android客户端工作 我在build.gradle中写了这段代码 这是我的代码片段,这段代码不适合我,我该如何解决它

  • 问题内容: 从堆栈溢出的其他帖子中应该可以正常工作 但由于某种原因,它只是挂在()上而从不打印。我知道对www.cnn.com的请求将对数据进行分块,但我至少应该从中读取一些信息,对吗? PS我知道这是不是做到这一点的最好办法,而且有像库和在那里,但我不能使用那些为这个项目(这是学校)。我必须使用图书馆 问题答案: 您忘记在请求行之后发送空白行: 此外,HTTP 1.1指定您应添加HTTP 1.1

  • 问题内容: 假设我想使用标准模块从套接字读取一行: 到底发生了什么?每次都会发出系统调用吗?我想无论如何我应该添加一些缓冲: 为了与硬件和网络实际情况达到最佳匹配, bufsize 的值应为2的相对较小的幂,例如4096。 http://docs.python.org/library/socket.html#socket.socket.recv 但是编写高效且线程安全的缓冲似乎并不容易。如果我使用

  • 当我运行此代码时,我得到[WinError 10057]。我不知道为什么当我浏览到时它会崩溃,因为我的朋友机器上也有相同的代码。。。 为什么我得到这个错误?一直在四处寻找,但没有真正找到答案。有什么建议吗?