我在一台始终在线的旧笔记本电脑上设置了一台perforce服务器,路由器总是为它分配一个保留地址。我在no-ip.com上有一个帐户,它会发送到我的路由器,然后路由器将端口1666的请求重定向到这台笔记本电脑。
当我尝试将p4port设置为这个no-ip.org地址时,这部分没问题,但当我运行p4d时,我得到:
Perforce服务器错误:侦听USERNAME.no-ip.org:1666失败。USERNAME.no-ip.org:1666上的TCP侦听失败。绑定: USERNAME.no-ip.org:1666: WSAEADDRNOTAVAIL
然而,如果我只将p4port设置为192.168.0.6,我就可以使用下面的one从网络后面访问服务器。但我更希望能够从外部访问它..
我在这里读过另一篇文章,其中有人有相同的设置(http://stackoverflow.com/questions/2397642/online-perforce-repositories,用户在玩游戏恐怖),但他没有像我显然需要的那样深入。
我已尝试关闭路由器和windows xp防火墙,xp和路由器防火墙将1666转发到此本地ip
干杯!
发布于 2010-12-05 00:22:28
我的建议是,如果你正在使用perforce的免费版本,并且不会被困住:使用sourceforge.net SVN托管,它是免费的,你的数据将在任何地方都可以使用。如果您必须使用Perforce,那么我建议您在没有静态WAN IP和路由器上的正确端口转发的情况下,忘记在外部使用它,因为这听起来需要大量的工作。这取决于你想要使用源码控制来做什么真的,perforce对于大项目来说真的是值得的,因为免费版本是非常严格的。
发布于 2010-12-05 07:45:39
使用以下命令启动p4d
p4d -p 1666而不是
p4d -p USERNAME.no-ip.org:1666USERNAME.no-ip.org不是您计算机上的有效接口,因为您位于NAT之后,并且没有通过该IP地址直接连接到internet。通过将服务器上的p4port仅设置为端口号,它应该绑定到所有可用的接口(0.0.0.0)。如果您随后将客户端上的p4port设置为USERNAME.no-ip.org:1666,则NAT将处理其他所有事情。
请注意,如果您尝试从服务器所在的同一NAT后面进行连接,则可能无法工作,因此您可能需要从某个外部位置对其进行测试。这真的取决于路由器上的路由表是如何设置的。
发布于 2010-12-05 00:55:19
我认为问题来自于p4d试图将其侦听套接字绑定到USERNAME.no-ip.org:1666,而该地址不是运行p4d的PC的“正确”地址。
一个解决方案是让p4d绑定到0.0.0.0:1666 (在P4D的配置中的某个地方?)或者说服PC,USERNAME.no-ip.org确实是它的地址-通过在/etc/hosts中输入它(或者对于Windows,在隐藏的系统文件中: c:\windows\system32\drivers\etc\hosts )
https://stackoverflow.com/questions/4354160
复制相似问题