首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python网络套接字- [WinError 10053]

Python网络套接字- [WinError 10053]
EN

Stack Overflow用户
提问于 2020-06-12 02:44:09
回答 1查看 115关注 0票数 1

我正在尝试根据我正在学习的课程编写一个相当简单的“网络套接字”(服务器端)程序和“网络连接”(客户端)程序。当我尝试从VMWare工作站15中的Kali Linux虚拟机使用"network connect“程序进行连接时,我得到了一个WinError 10053。Kali VM网络适配器正在NAT模式下运行。

Host Computer ipconfig

Kali VM ifconfig

服务器

代码语言:javascript
运行
复制
import socket

SRV_ADDR = input("Type the server IP address: ")
SRV_PORT = int(input("Type the server port: "))

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((SRV_ADDR, SRV_PORT))
s.listen(1)
print("Server started! Waiting for connections...")
connection, address = s.accept()
print('Client connected with address:', address)
while 1:
    data = connection.recv(1024)
    if not data: break
    connection.sendall(b'-- Message Received --\n')
    print(data.decode('utf-8'))
connection.close()

客户端

代码语言:javascript
运行
复制
import socket

SER_ADDR = input("Type the server IP address: ")
SER_PORT = int(input("Type the server port: "))

s2 = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s2.connect((SER_ADDR, SER_PORT))
print("Connection Established")

message = input("Message to send: ")
s2.sendall(message.encode())
s2.close()

当我从本地计算机运行"network socket“程序时,我可以使用Netcat从Kali VM成功连接,并发送数据。

Successful - Server Side

Successful - Client Side

如果我尝试从Kali运行"network connect“程序,我会成功连接,但当我发送数据时,会得到WinError 10053和对"network connect”程序中第13行的引用。

Failure - Server Side

Failure - Client Side

任何帮助都将不胜感激。如果这篇文章发表得不正确,很抱歉,这是我第一次在论坛上发表文章:)

EN

回答 1

Stack Overflow用户

发布于 2020-06-12 18:43:24

问题是,在客户端将消息发送到服务器后,他关闭了套接字,但服务器仍然尝试接收数据。

如果您计划只发送一条消息,那么您应该从服务器的代码中删除该循环。

否则,您可以通过try/ recv在服务器中包装except行来处理这种情况。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62331367

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档