我正在写一个 类似qq的聊天工具。
现在有一个想法。请大家看看问题所在:
:
当CLIENT启动连到SERVER 时。 它向 SERVER 发送自己的 ID 号 和 IP 。
SERVER 把它的 ID 和 IP 关联起来存在连表中
这样个每个上线的用户都在SERVER保存有他们的 ID 和 IP
当其中一用户A在他的CLIENT 点激 用户B 的头象
如果是 A B 首次通信
A 的CLIENT 便把 B 的 ID 发到 SERVER
SERVER 通过他的连表得到与这个 ID 关联的 IP 并把 IP 发给 CLIENT A
CLIENT A 有了 CLIENT B 的 IP 后 就向 CLIENT B 发送连接请求
( 每个CLIENT 都有个 监听SOCKET )然后 A B 就建立起连接
他们的数据就 直接传送 而 不需要经过 SERVER
现在有一个想法。请大家看看问题所在:
:
当CLIENT启动连到SERVER 时。 它向 SERVER 发送自己的 ID 号 和 IP 。
SERVER 把它的 ID 和 IP 关联起来存在连表中
这样个每个上线的用户都在SERVER保存有他们的 ID 和 IP
当其中一用户A在他的CLIENT 点激 用户B 的头象
如果是 A B 首次通信
A 的CLIENT 便把 B 的 ID 发到 SERVER
SERVER 通过他的连表得到与这个 ID 关联的 IP 并把 IP 发给 CLIENT A
CLIENT A 有了 CLIENT B 的 IP 后 就向 CLIENT B 发送连接请求
( 每个CLIENT 都有个 监听SOCKET )然后 A B 就建立起连接
他们的数据就 直接传送 而 不需要经过 SERVER
解决方案 »
- vs2008 标准输入输出问题
- 编译器问题???
- 用CFile读取文件的时候,为什么只能读最前面的一部分内容,后面的都读不出来呢?
- 想搞个VC代码(静态)分析工具,大家看看都有哪些事情可做。thx
- 在TCP连接上发送数据,是否能保证接收数据的顺序与发送数据的顺序一致
- 对话框子窗口如何覆盖其父窗口?
- 一个奇怪的问题
- DocumentComplete 的问题?
- 请问怎么将vc程序标题栏上的“无标题”去处,谢谢
- win7 vs2008下安装已下载的根证书,报错“传递给系统调用的数据区域太小”
- 请问<<error C2375: “WSAStartup” : 重定义;不同的链接>>如何解决
- 关于semaphore的问题:在线等待.....
这里好象有问题了
象我们寝室的机器对外的IP 都是 我们饿网关的 IP
对于内网ip 还须对方 网关的帮助
你可以这样
先让他尝试点对点。
再让他通过服务器转发。。
----------------------------
出发点就错了~~这种模式的通讯通常都是采用的udp协议~~这样才可能做到跨网关~~