今天遇到一个这样的问题,在进行SOCKET连接时,地址和端口都正确,对侧服务器端也处于监听状态,但仍会报错,错误是:
Connection refused
后来发现,问题原因是字节序错误,源代码中是这样写的:
#ifdef _LITTLE_ENDIAN
server.sin_port=xshort(portNumber);
#else
server.sin_port=portNumber;
#endif
要想使用低字节序进行传输数据,则需要在makefile中加入对_LITTLE_ENDIAN的定义,于是在makefile 中加入了如下红色部分:
DEFINES = -D_REENTRANT -DCH7_Q -DLINUX -D_LITTLE_ENDIAN
重新编译后,socket连接正常。
作为一个经验记录下来。