python - “OSError: [WinError 10022] An invalid argument was provided” 在 vps 上,但在本地系统上工作正常
问题描述
我有一个简单的套接字服务器,它接收来自客户端应用程序的请求,然后读取 csv 文件并使用该 csv 文件中的数据进行回复,在我的本地机器上,下面的代码工作正常,但是当我将此代码上传到基于 Windows 的 vps 时给出这个错误:
ServerSocket.listen(5) OSError: [WinError 10022] An invalid argument was supplied
我的代码:
import socket
import os
from _thread import *
import csv
ServerSocket = socket.socket()
host = '127.0.0.1'
port = 25556
ThreadCount = 0
try:
ServerSocket.bind((host, port))
except socket.error as e:
print(str(e))
print('Waitiing for a Connection..')
ServerSocket.listen(5)
def threaded_client(connection):
while True:
data = connection.recv(2048)
symbolrcvd = data.decode('utf-8')
print (symbolrcvd);
with open('MyRatios.csv') as csvfile:
readval = {row['Symbol']: row for row in csv.DictReader(csvfile)}
data1=readval[symbolrcvd]['Ratio']
reply = data1
if not data:
break
connection.sendall(str.encode(reply))
connection.close()
while True:
Client, address = ServerSocket.accept()
print('Connected to: ' + address[0] + ':' + str(address[1]))
start_new_thread(threaded_client, (Client, ))
ThreadCount += 1
print('Thread Number: ' + str(ThreadCount))
ServerSocket.close()
什么可能导致这个问题?
解决方案
推荐阅读
- java - 如何使 ActionBar 在活动中不可见?
- r - 测试显示错误结果
- amazon-redshift - 并非所有记录都从 Redshift 加载到 TGT Snowflake DB
- excel - 在excel中的时间范围内突破特定时间
- substring - Swift 5.1 子字符串问题
- lua - 如何将游戏[魔兽世界1.13.3]中的物品ID转移到我的插件中?
- php - 在php中的子域之间复制文件
- r - 根据 r 中的先前日期值过滤变量
- reactjs - 不允许 CORS 原始请求 React Express
- intellij-idea - Eslint/Prettier 与 Intelij 的集成运行非常缓慢