c++/c socket应用的区别:socket()函数返回文件描述符fd总是0的问题

来源:互联网 发布:java核心技术 下载 编辑:程序博客网 时间:2024/05/21 08:50

最近在arm linux系统上面使用socket建立客户端到服务器的连接,

客户端需要开2个socket连接2个不同的服务器,

这两个申请socket的过程都放在同一个类的成员函数中实现,

测试发现,每次拿到的socket的fd均为0。

这个id为0,虽然用起来没有问题,但是只能用来connect到一个服务器,除非你每次收发之前都来个connect。

同样的代码,放在.c文件的main函数里面一运行,拿到的socket id为非0。

具体原因仍然不知。

目前解决的办法是,在c++类里面运行socket函数,申请2次,第二次拿到的就是非0的了,

然后把第一次的0关闭,不用了。

不知道是否哪里设置不对,难道默认是共用fd=0吗?

:]


0 0
原创粉丝点击