gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 12:02:36 35 4
gpt4 key购买 nike

我试图根据我正在学习的类(class)编写一个非常简单的“网络套接字”(服务器)程序和“网络连接”(客户端)程序。尝试从VMWare Workstation 15中的Kali Linux虚拟机使用“网络连接”程序进行连接时,出现[WinError 10053]。Kali VM网络适配器以NAT模式运行。

Host Computer ipconfig

Kali VM ifconfig

服务器

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()

客户
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()

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

Successful - Server Side

Successful - Client Side

如果我尝试从Kali运行“网络连接”程序,则我成功连接,但是在发送数据时,我得到了WinError 10053和对“网络连接”程序中第13行的引用。

Failure - Server Side

Failure - Client Side

任何帮助,将不胜感激。抱歉,如果此发布不正确,这是我第一次发布到论坛:)

最佳答案

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

如果计划仅发送1条消息,则应从服务器代码中删除循环。

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

关于python - Python网络套接字-[WinError 10053],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62331367/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com