首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ai_socktype不支持服务器名

ai_socktype不支持服务器名
EN

Stack Overflow用户
提问于 2014-04-15 17:00:37
回答 3查看 54.7K关注 0票数 12

我正在使用Vagrant运行Centos虚拟机。机器似乎运行正常,但当我尝试同步Perforce时,我看到以下错误:

代码语言:javascript
复制
[vagrant@vagrant-c5-x86_64 ~]$ /perforce/p4 sync -f ...  
Perforce client error:  
Connect to server failed; check $P4PORT.  
failed.TCP connect to perforce.xxx.com:1666  
Servname not supported for ai_socktype

我已经阅读了这个http://www.ducea.com/2006/09/11/error-servname-not-supported-for-ai_socktype/,并尝试在/etc/services中设置端口,但它不起作用。我甚至不确定问题是与Perforce有关还是与操作系统有关。

有什么提示吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-10-31 07:54:19

我在使用Tornado/Python应用程序时遇到了这个问题。显然,端口的this can be caused被解释为字符串而不是整数。因此,在我的示例中,我需要更改启动脚本以强制将其解释为整数。

代码语言:javascript
复制
application = tornado.web.Application(...)
application.listen(int(port))
票数 18
EN

Stack Overflow用户

发布于 2015-08-11 17:00:27

你能进入你的客户端吗?在尝试同步文件之前,请尝试创建一个perforce客户端:

代码语言:javascript
复制
p4 client

也许问题不是host:port,而是连接字符串中的其他标志会中断。

我个人收到了完全相同的错误,但这是Perforce的问题。

原因是,当Perforce寻找其P4USER/P4PORT/时,它有自己的优先事项...配置。

  1. ENV变量(运行export )
  2. 如果指定了P4CONFIG变量,则该变量可以在文件中搜索(如当前/上目录中的.perforce )

问题是,即使它首先搜索ENV变量- P4CONFIG文件可能会覆盖它。

因此,我的$P4PORT ENV变量有一个连接字符串X,但是.perforce文件有一个连接字符串Y。

从本地.perforce文件中删除P4PORT -解决了此问题。在示例中:

代码语言:javascript
复制
$~] echo $P4PORT; 
rsh:ssh -2 -q -a -x -l p4ssh perforce.mydomain.com

$~] cat .perforce
# P4PORT="rsh:ssh -q -a -x -l perforce.mydomain.com /bin/true"
P4USER="my_user"

还要记住,Perforce将在整个目录层次结构中向上搜索$P4CONFIG文件(如果已配置),因此即使您在当前目录中没有该文件-它可能会在较高的目录中找到,并且在那里-您也可能具有您不期望的$P4PORT配置。

票数 2
EN

Stack Overflow用户

发布于 2021-05-09 00:11:23

放置尾部斜杠,例如:

代码语言:javascript
复制
http://perforce.xxx.com:1666/

而不是:

代码语言:javascript
复制
http://perforce.xxx.com:1666
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23079017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档