求助SOCKET 双网卡 C语言编程问题
答案:2 悬赏:70 手机版
解决时间 2021-02-08 17:15
- 提问者网友:黑米和小志
- 2021-02-08 10:38
求助SOCKET 双网卡 C语言编程问题
最佳答案
- 五星知识达人网友:拜訪者
- 2021-02-08 11:56
需要建立两个SOCKET吗?socket1绑定IP1和端口5060,socket2绑定IP2和端口5060,socket1进行内网(网卡1)的收发UDP包,socket2对外网(网卡2)收发UDP包,这样会有问题吗?
问题2:如果还是bind INADDR_ANY的话,能收到所有的包,但是发送时,我希望需要发送到192.168.103.1网段的通过网卡1走,对方收到的地址为IP1(192.168.103.110),发送到172.16.0.1网段的通过网卡2走,对方收到的地址为IP2(172.16.0.100),请问达到这种效果的话,需要怎么做?
问题2:如果还是bind INADDR_ANY的话,能收到所有的包,但是发送时,我希望需要发送到192.168.103.1网段的通过网卡1走,对方收到的地址为IP1(192.168.103.110),发送到172.16.0.1网段的通过网卡2走,对方收到的地址为IP2(172.16.0.100),请问达到这种效果的话,需要怎么做?
全部回答
- 1楼网友:鸠书
- 2021-02-08 12:21
一个端口只能被一项服务使用,如果另外开一个服务器使用相同的端口,原先的服务就收不到任何数据,都被后一个收到了,一般不允许这么做的。
客户端连接服务端只需知道端口和ip,如果服务端的端口为随机,必须另外连接告知客户端端口,客户端才能连接服务器。
客户端使用随机的端口跟服务器端没关系:
比如服务器ip为
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯