关于APUE第十六章的客户端程序返回Servname not supported for ai_socktype错误的解决方法

出现这种错误的原因是因为没有给服务分配端口号,可以手动添加端口号,就是在/etc/services文件里加上一行:使用vi /ect/services
按住Shift+G跳到最后一行,按住i进入插入模式,进行编辑
ruptime 39001/tcp

ruptime 是服务名,就是getaddrinfo的第二个参数名,而不是程序名。39001是分配的端口号,可以任意,但不要与其他服务的一样,还有就是不能小于1024。因为操作系统1024以下,是为了给系统服务预留的,不要占用。 tcp就是协议名。

你可能感兴趣的:(关于APUE第十六章的客户端程序返回Servname not supported for ai_socktype错误的解决方法)