1.是通过服务器,建立客户端之间的点对点连接还是怎么样?点对点能不能建立不同公网IP地址的私网用户连接。应该怎么样做?
2.响应客户端请求的Socket操作类(C:vb6.0 S:Java)
3.Socket这一块,做通讯软件,有没有另外需要注意的地方?应该怎样处理?Thanks~!
2.响应客户端请求的Socket操作类(C:vb6.0 S:Java)
3.Socket这一块,做通讯软件,有没有另外需要注意的地方?应该怎样处理?Thanks~!
一个socket的建立,实际上就是一对C/S,其中S必须是公网上的IP
Thanks!解决问题马上结贴
能不能,C1连接到server,C2连接到Server,然后在服务器中,通过某种手段,来建立C1和C2的直通?C1和C2必须有一个在公网IP用户才行吗?
======
答:一般是这样做的,服务器上有一个端口,供所有C来连接,它上面维护一个在线C的列表。某C1启动之后,会自己打开一个监听,然后跟服务器连上,服务器给它一张在线C的列表,同时也把C1的IP(公网IP)和C1的监听端口记录到这个列表中。C1定时跟服务器通信一次(比如3分钟),得到最新的C列表。而服务器也把那些长时间(比如6分钟)没有通信的C从列表中删除。
C1取到这个列表后,无论它是内网还是外网,都会尝试跟列表中的IP和端口连接,如果某C2处于公网中,那么C1肯定可以联系得到它。但是如果C2在内网中,那么C1将无法联系到它。也不是说C1和C2无法通信,假设C2得到的列表中有C1,而C1处于外网(公网),那么C2可以联系到C1,这也可以。
也就是说C1和C2中至少有一个有公网IP(当然也可以通过路由器的NAT来实现内网IP映射到外网),它们才可能形成连接。--------------------------
另外继续等待,看谁能不能提供一个Socket连接类,对自己写的没信心,感觉都象小孩的玩意
==========
这个代码写起来比较复杂,不是写个简单的例子代码就可以搞定的,你可以自己多花点功夫钻研一下
3.Socket这一块,做通讯软件,有没有另外需要注意的地方?应该怎样处理?
我补充1点,在编写代码的时候,S端获得C端的连接请求以后,建立了socket连接,那么就要以这个socket连接为基础,进行通讯,而不要再建立一条下发的socket,那样会有问题
我很不理解,你既然是做.NET的,为什么不就用.NET来做程序呢?为什么扬长避短?
--------
如果你一定要范例代码,我可以给你写最简单的
你加我QQ吧 154863618
我很不理解,你既然是做.NET的,为什么不就用.NET来做程序呢?为什么扬长避短?
___________
这是头要求的,没办法啊,呵呵
一、线程池的处理
二、不同公网IP的内网用户,p2p连接问题
望各位高手指导,谢谢