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