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

发生异常:OSError[WinError 10057]由于套接字未连接,发送或接收数据的请求被禁止

阎昌勋
2023-03-14

我试图将文件从客户端传输到服务器。但由于错误,我没有收到任何文件。

这是我的server.py文件,但我得到这个错误,当我要从客户端接收文件。

import socket
import pyautogui
from pyautogui import *
from tkinter import *
from tkinter import filedialog
import os

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('0.0.0.0',4321))
s.listen(5)

root = Tk()
root.withdraw()


while True:
    clientsocket, address = s.accept()
    print(f"Connecting from {address} has been established")

    msg = clientsocket.recv(1024)
    print(msg.decode("utf-8"))

    file_name = 'recieved file.py'
    file = open(file_name, 'wb')
    file_data = s.recv(1024)
    file.write(file_data)
    file.close()
    pyautogui.alert("File recieved successfully!")

这是我的客户。请看下面。但这并没有出现错误。

import socket
import pyautogui
from tkinter import *
from tkinter import filedialog
import os
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('192.168.0.108',4321))

while True:
    confirm_send = pyautogui.confirm("Do you want to start file transfer?")
    if confirm_send == 'OK':

        file = filedialog.askopenfilename()
        file_name = os.path.basename(file)

        open_file = (file, 'rb')        

        with open(file) as in_file:
            file_data = in_file.read()
            s.send(file_data)

        pyautogui.alert("File Transferred succefully!!")

这是我的服务器错误。派克

Exception has occurred: OSError
[WinError 10057] A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket using a sendto call) no address was supplied
  File "D:\Workspace\Code\Cloud Storage\server.py", line 25, in <module>
    file_data = s.recv(1024)

共有1个答案

元俊雅
2023-03-14

您的端口可能不可用。您试过49152-65535范围内的端口吗?

 类似资料:
  • 因此,我试图发送一个数据包,但我不断得到这个错误 任何帮助将是真棒! 谢谢! 错误消息:不允许发送或接收数据的请求,因为套接字未连接,并且(使用sendto调用在数据报套接字上发送时)未提供地址 代码: }

  • 我正在尝试使用WCF代码中的TCP套接字连接到远程外部服务器我的WCF服务是一个客户端,它的代码使用套接字连接到外部服务器。此代码向外部服务器发送请求并接收服务器响应 如果我使用相同的客户端代码创建一个windows应用程序以连接到远程服务器,则成功。我能够连接、发送和接收此错误仅在我将WCF带入图片时发生。代码在if(m_socket失败。连接)。因此无法成功连接。 非常感谢。

  • 我正在Pygame中创建一个游戏,它需要多人游戏的客户端服务器部分。 首先,我正在检查是否有少于两个连接。如果是这种情况,客户端将显示一个屏幕,上面写着“等待连接”。 我已使客户端成功地向服务器发送“1”消息,如果服务器未满,服务器将以“1”响应。因此,如果服务器没有响应1,则服务器已满,客户端可以继续。 然而,我在标题中提到了这个错误。 服务器代码: 调用它的客户端代码: 服务器代码中的s.se

  • 我想发送一个字符串从客户端到即服务器。但是我发现了这个错误。请引导我! 不允许发送或接收数据的请求,因为套接字未连接,并且(使用sendto调用在数据报套接字上发送时)未提供地址 客户端 服务器 我被卡住了! 编辑1学分:j4ck 服务器将要关闭。如何使此服务器对所有请求都处于活动状态?我想使用套接字从发送请求。我想,一旦请求到达服务器,服务器应该使类的线程而不是函数。

  • 因此,我正在用Java编写一个程序,在DatagramSocket和DataGramPacket的帮助下发送和接收数据。问题是,当我发送数据/接收数据时,数据在我发送的程序中也会有所不同,但只是在某些情况下,比如: 但有时会起作用,比如:

  • 完整错误代码: 我创建了SSL套接字服务器和客户端,但然后服务器尝试从客户端接收信息,它失败了,打印错误,这是上面的文本。 服务器: 客户: