c#做聊天工具为什么只能在局域网内发送数据

问:想实现一个简单的qq样式的聊天工具。
用过socket,也试了unsafe SendARP方法。貌似都只能在局域网里发送消息。如果是外网上的一台电脑,虽然知道ip,还是连不上。
是不是必须做一个ip映射?
可是,msn,qq,就不用啊。安装好,立马可以与世界各地的人聊天。

 

 

(1)答:这个的话,需要使用Server转发的模式,或者使用VPN通道.简单的几句也说不清,就简要地说一下大致的方法

1.建立一个服务器端,放在公网的服务器上运行,监听
2.客户端通过指定的IP与端口连接服务器(客户端没有网络要求,只要能连接服务器,打开你指定的端口即可)
3.客户端发送消息给服务器,再通过服务器转发给另外一个客户端

 

(2)答:学一下计算机网络你就会明白为什么连不上了!
因为我们在局域网的IP其实都是私有地址,对外是无效的。而我们想去连接一个宽带用户时,还是不能连上。那是因为现在的网络运营商用了一个NAT(网络地址转换技术)来提高IP地址的利用率!所以一般的宽带用户的IP也不是有效IP。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值