我最近做了一个网络通信的程序(用的是udp协议),在局域网内通信没有问题,但是公司要求要能在外网上通信。在下不才,对网络编程不是很了解,不明白怎么改进才能实现在外网上通信,望高手们指点一二。感激不尽!!!
在线等
在线等
解决方案 »
- [C#UdpClient][BeginReceive()]当前没有接收到数据的情况下如何让他结束。
- 求高手啊!!autoCompleteExtender自动完成控件可以实现下选功能吗
- C# socket Tcp 的小问题
- c#如何通过1394接口连接摄像机,并取出图片?
- DataSet中存放了多个表,有没有这样一个功能对同一个DataSet中的表进行多表连接查询?
- if - else if - else 我这样精神正确吗?
- C# DATASET为什么还是无法更新数据库(100分)
- C#中,点击web控件中的超链接,弹出一个窗体, 是怎么实现, 高手来帮帮我,谢谢
- 看这边哦!
- C# 中关于使用cmd命令行
- 怎么在logout以后,使session失效
- 如何实现蓝牙PC编程
现在不明白的是用什么标识一台机子?
-------------------------
IP2.
发送信息的时候用哪个ip地址?外网ip?内网ip?
------------------------
客戶端連接服務器時外網IP,發送消息使用的是通過Socket獲取到對方的IP地址。
2. 每个Client连接Server时会开一个端口,你应该保持client端口(好像是代理服务器的IP)始终为打开状态。
3. Server上建立IP及端口与每个Client的映射关系然后共享这个列表。另外有一个最简单的仿B/S方式(但低效的方法)。
每个client不断向Server发请求看有没有自己的消息或者向另一个client发消息。
那要看服务器是在外网还是内网.
如果服务器在内网,这个就涉及到NAT穿透了.是个很麻烦的事情.呵呵.
不过如果服务器的路由你能控制的话,让路由开个端口映射好了.