Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何解决Python套接字/SocketServer连接问题[Errno 10048]&;[错误号10049]?_Python_Sockets_Ip_Ip Address_Connect - Fatal编程技术网

如何解决Python套接字/SocketServer连接问题[Errno 10048]&;[错误号10049]?

如何解决Python套接字/SocketServer连接问题[Errno 10048]&;[错误号10049]?,python,sockets,ip,ip-address,connect,Python,Sockets,Ip,Ip Address,Connect,我正在尝试制作一个在线FPS游戏,到目前为止,它可以在我的本地网络上运行。我想做的是让它在全球范围内发挥作用 过去,我曾尝试让其他Python项目在全球范围内运行,但到目前为止,我还无法让它运行。我从ipchicken或其他什么地方获得IP,并将其作为服务器的主机,但当我尝试启动它时,我得到了这个 socket.error: [Errno 10049] The requested address is not valid in its context 我尝试了从不同的地方找到的IP地址的许多不

我正在尝试制作一个在线FPS游戏,到目前为止,它可以在我的本地网络上运行。我想做的是让它在全球范围内发挥作用

过去,我曾尝试让其他Python项目在全球范围内运行,但到目前为止,我还无法让它运行。我从ipchicken或其他什么地方获得IP,并将其作为服务器的主机,但当我尝试启动它时,我得到了这个

socket.error: [Errno 10049] The requested address is not valid in its context
我尝试了从不同的地方找到的IP地址的许多不同版本,但所有版本都给出了输出

我想,既然我有了自己的Web空间,我可以尝试做Python手册中所说的:

其中host是一个字符串,表示Internet域表示法中的主机名,如'darin.cwi.nl'

因此,我在我的Web空间(
h4rtland.p3dp.com
)的域中输入了以下错误:

socket.error: [Errno 10048] Only one usage of each socket address (protocol/network address/port) is normally permitted
虽然只在端口80上,但其他任何操作都会给我与以前相同的错误


如果有人能为我解释一下这个问题,我将不胜感激。

首先,端口80通常是http流量。端口5000下的任何内容都是私有的,这意味着您确实不想将服务器分配到此端口,除非您完全知道自己在做什么。。。下面是设置服务器套接字以接受侦听的简单方法

import socket
host = None #will determine your available interfaces and assign this dynamically
port = 5001 #just choose a number > 5000
for socket_information in socket.getaddrinfo(host, port, socket.AF_INET, socket.SOCK_STREAM):
    (family, type, prototype, name, socket_address) = socket_information
sock = socket.socket(family, type, prototype)
sock.bind(socket_address)
max_clients = 1
sock.listen(max_clients)
connection, address = sock.accept()
print 'Client has connected:', address
connection.send('Goodbye!')
connection.close()

这是一个TCP连接,对于FPS游戏,您可能希望使用UDP进行研究,以便丢弃的数据包不会严重影响性能。。。Goodluck

端口80出现不同错误的原因是某些东西(可能是您的web服务器)已经在使用它。“从ipchicken或其他什么地方获取我的IP”是什么意思?请尝试使用“localhost”作为您的地址。工作正常吗?端口1024下的任何端口号都是专用的,而不是5000下的