我正在编写一个简单的客户机-服务器套接字程序,可以在两台不同的计算机上运行。服务器是一个静态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()
我已经修好了。我要求我的组织打开防火墙端口,当防火墙端口打开时,连接成功。
我编写了一个套接字服务器程序员: 为什么找不到? 编辑-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]。我不知道为什么当我浏览到时它会崩溃,因为我的朋友机器上也有相同的代码。。。 为什么我得到这个错误?一直在四处寻找,但没有真正找到答案。有什么建议吗?