CSkin博客

标题: 通讯软件开发 [打印本页]

作者: 鱼水青    时间: 2017-4-5 22:43
标题: 通讯软件开发
目前我考虑的网络结构如下图

我目前的思路是在每个局域网的可连外网的计算机上部署一个服务,分别针对内网访问及外网访问,一个内网客户端访问另一个内网的客户端通过服务端转发到另一个服务端再分发下去,同时传输过程中的每一个节点在数据封包中都记录下来,回传时按原路回发。

不知道这种思路对不对,应该有更好的方法,求大神指导!谢谢!

作者: 月夜枫华    时间: 2017-4-10 11:41
这个还是要看你的需求啊。把需求发上来,让大家看看你到底是要做什么。
作者: 鱼水青    时间: 2017-4-10 21:38
月夜枫华 发表于 2017-4-10 11:41
这个还是要看你的需求啊。把需求发上来,让大家看看你到底是要做什么。

终于有大神回复了!!
需求就是各个单位是各自的局域网,每个单位仅有一台电脑通过特殊设备互联(不连接外网)。现在要求各单位的每个客户端能即时通讯。
目前我照着原来的思路开发,客户端发消息到服务端,服务端在转发给另一个服务端,然后再转发到的目的客户端。
现在普通的聊天已完成,感谢CSKIN控件,省了我很多事。但是发送文件的开发就感觉有点恼火了,因为外部连接不稳定,丢包及延迟现象特严重,所以我考虑了哈就没通过即时传输的方式,而是先完全上传到服务端。服务端慢慢传输到另一个服务端(主要是服务器不关闭,可以闲时传输),传完后再下发。
作者: cantron    时间: 2017-4-20 17:43
应该需要一台真正的中央服务器,我现在正在做一个类似的项目,交谈文本信息和文件在本地都是P2P直达,不同局域网之间,不管是文本信息还是文件,都是通过中央服务器中转,你的多了一重本地服务器,可以考虑将本地服务器做成代理,接收端通过http接收,稳定性非常好。
作者: cantron    时间: 2017-4-20 17:50
根据交谈对象,自动识别是否局域网在线,如果不在同一个局域网内,则改用离线服务器中转发送,发送效果:
作者: 鱼水青    时间: 2017-4-21 21:07
cantron 发表于 2017-4-20 17:50
根据交谈对象,自动识别是否局域网在线,如果不在同一个局域网内,则改用离线服务器中转发送,发送效果: ...

谢谢指导,目前我确实是先发往服务端,服务端识别后确定是转发到另外的服务器还是直接下发。
不过真正的中央服务器是没有了,因为我这个完全不通外网,可能两个不同的单位之间也不互通。。。




欢迎光临 CSkin博客 (http://bbs.cskin.net/) Powered by Discuz! X3.2