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

最近在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吗?

:]


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值