【问题标题】:Servname not supported for ai_socktypeai_socktype 不支持 Servname
【发布时间】:2014-05-29 12:43:15
【问题描述】:

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

[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 或操作系统有关。

有什么提示吗?

【问题讨论】:

  • P4PORT 设置正确了吗?
  • 是的,这是我的第一个猜测。从一开始就正确设置。另外,我将 P4CHARSET 更改为“utf8”和“none”。目前还没有结果...
  • “telnet perforce.xxx.com 1666”有效吗? (即建立连接)
  • 它确实有效。机器可以互相看到。
  • 请参阅stackoverflow.com/questions/43600239/… 以获取类似问题的答案,尽管在这种情况下答案涉及 Perl 脚本中的语法错误。不过,也许它为这个问题的答案提供了线索。

标签: sockets centos ip port perforce


【解决方案1】:

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

application = tornado.web.Application(...)
application.listen(int(port))

【讨论】:

  • 完全不同的库(Kafka-Python),但这解决了我的问题!谢谢
【解决方案2】:

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

p4 client

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

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

原因是,Perforce 在寻找其P4USER/P4PORT/... 配置时有自己的优先级。

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

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

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

从我的本地 .perforce 文件中删除 P4PORT - 解决了这个问题。 例如:

$~] 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 配置..

【讨论】:

    【解决方案3】:

    加上斜线,例如:

    http://perforce.xxx.com:1666/
    

    代替:

    http://perforce.xxx.com:1666
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-21
      • 2013-04-19
      • 1970-01-01
      • 2018-10-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多