怎么发不出去?绑也绑不住。。。。急。。。。

quengzi 2002-09-24 10:10:10
我要知道为什么?
c/s结构使用UDP协议,在客户端使用CONNECT(),如果我的服务器有
两张网卡,设置三个IP,其中一个是对内局域网使用,另外两个有不同的用处,
现在,客户端使用UDP协议的connect()方式,发送数据给服务器,服务器可以收到,
但是,当服务器用SENDTO()方式发送数据给客户端的时候,没有错误(发送的字符数
和给定的一样),但是,客户端无法接收到任何信息,同样的程序,我用拨号上网的方式,
发送接受没有问题,但是测试的时候是一张网卡,两个IP)
问题出自那里?会不会是路由器的问题,
因为服务器是托管到其他地方,所以没办法实地测试,但我了解到路由器没有配置ICMP。
会不会是出自这里?
...全文
73 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
quengzi 2002-09-24
  • 打赏
  • 举报
回复
azlza(微笑):
你说的情况可能就是这一种了,我由wan到lan的。
网关或者路由器会丢弃这些数据报?
应该这么避免?
如何绕过网关呢?
quengzi 2002-09-24
  • 打赏
  • 举报
回复
T0:Kevin_qing()
客户端是在局域网,但是我用sendto和服务器通讯,
然后,服务器得到recvfrom得到数据和源IP,然后用SENDTO()发送,
这个过程应该没有问题吧。
拨号上网的形式应该比固定IP的形式难,
但是这里拨号能够通讯,但是在让被人托管的服务器(固定IP)的
时候就不能了。
TO:wuxuan(真心英雄)
谢谢,客户端已经做定了,问题肯定在服务器,
我不知道是路由问题还是程序端口设置问题。
初步确定应该在路由,因为用拨号的方式和客户端通讯没有任何问题。
但是,也不能确定网卡的多少会不会由影响。
azlza 2002-09-24
  • 打赏
  • 举报
回复
你的接收缓冲够大么?
azlza 2002-09-24
  • 打赏
  • 举报
回复
NAT应该没关系阿,lan to wan之后再wan to lan 应该没问题的。如果有问题也是直接wan to lan,这可能会导致gateway抛弃这个package
quengzi 2002-09-24
  • 打赏
  • 举报
回复
T0:Kevin_qing()
客户端是在局域网,但是我用sendto和服务器通讯,
然后,服务器得到recvfrom得到数据和源IP,然后用SENDTO()发送,
这个过程应该没有问题吧。
拨号上网的形式应该比固定IP的形式难,
但是这里拨号能够通讯,但是在让被人托管的服务器(固定IP)的
时候就不能了。
Kevin_qing 2002-09-24
  • 打赏
  • 举报
回复
你说的收不到包的情况下,client是在局域网测试的吧?

如果是的话,那是你的server端程序问题。
涉及到NAT的问题,server应该使用最近一次收到的client包的ip:port与client通讯。这个port可能不是固定的,跟具体的网关/路由有关系
wuxuan 2002-09-24
  • 打赏
  • 举报
回复
你可以由客户端发起与服务器的连接,然后使用TCP连接来进行双方的通信。

如果使用TCP,则要求服务器与客户端的选路一致。
azlza 2002-09-24
  • 打赏
  • 举报
回复
udp没有connect啊。udp应该:create,bind,sendto,receivefrom,close。
你先看看你那程序里面sendto是send到你网卡的哪一个interface上去的。而你的程序的socket是bind到你网卡的哪一个interface上去的。
demonking 2002-09-24
  • 打赏
  • 举报
回复
up
nuaazwg 2002-09-24
  • 打赏
  • 举报
回复
也许吧,不是很了解/
quengzi 2002-09-24
  • 打赏
  • 举报
回复
总结:
我最近的一系列问题都是有关UDP协议的,开始的关键之处在于对网关和路由器方面的不了解。所以有些问题明明知道出在那里,但是不能够肯定而且又无法实地测试(托管的机房不允许随便进去测试),所以才求救于CSDN各位大虾,问题总算解决。由WAN向LAN发送数据的时候,经过路由器(或者网关之类的东西,我不知道为什么要这样,对于实际工作的障碍远远大于所谓的安全保障,到最后还不是被我绕过去了!呵呵!!!)的时候,会将我的数据报丢弃。多亏各位的提醒。。。。。。

16,549

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧