Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/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
Beej';s服务器客户端套接字示例不';我不在cygwin工作_C_Sockets_Cygwin - Fatal编程技术网

Beej';s服务器客户端套接字示例不';我不在cygwin工作

Beej';s服务器客户端套接字示例不';我不在cygwin工作,c,sockets,cygwin,C,Sockets,Cygwin,我正在尝试构建一个基本的客户机服务器,这样我就可以修改它,然后在IDA中进行分析。我被指向Beej的socket编程示例作为最终指南: 我通常使用Cygwin作为编程等工作环境。当我编译这些程序时,服务器程序不能在Cygwin下工作,尽管客户端程序可以 当在linux下编译和运行完全相同的服务器代码时,没有问题,运行良好 我让其他人用同样的方法尝试,他们得到了同样的结果。尝试连接到服务器时,客户端将关闭并显示: client: connect: connection timed out cli

我正在尝试构建一个基本的客户机服务器,这样我就可以修改它,然后在IDA中进行分析。我被指向Beej的socket编程示例作为最终指南:

我通常使用Cygwin作为编程等工作环境。当我编译这些程序时,服务器程序不能在Cygwin下工作,尽管客户端程序可以

当在linux下编译和运行完全相同的服务器代码时,没有问题,运行良好

我让其他人用同样的方法尝试,他们得到了同样的结果。尝试连接到服务器时,客户端将关闭并显示:

client: connect: connection timed out
client: failed to connect
数据包捕获显示TCP SYN数据包被发送到服务器,但它从未响应


有没有人能向我解释一下Cygwin下失败的原因,并提出解决方案?

我发现Beej提供的程序在服务器上默认为IPv6。解决方案是使用客户机中的IPv6地址寻址服务器地址,或者将服务器改为使用IPv4。这可以通过从更改服务器代码来实现

hints.ai_family = AF_UNSPEC;

希望这对别人有帮助

hints.ai_family = AF_INET;