当前位置:编程学习 > JAVA >>

求助关于socket通信的问题

内网和外网格式什么概念啊,java做一个像qq那样的软件和局域网通信的软件,原理一样吗?还有怎么得到外网ip呢,多谢 --------------------编程问答-------------------- 外网一般指互联网;内网指局域网。

单机上互联网一般需要个 猫。

内网要上外网,一般需要路由器,比较常见的就是无线路由了。

你应该经常听说什么“共享上网”吧?


qq那样的软件和局域网通信的软件,原理有相同也有不同:
主局域网通讯,多以广播+点对点为主;
QQ这种互联网通讯,以服务器消息转发为主。


外网IP一般要在 猫 上才能查到,3G上网卡也是一种猫。
--------------------编程问答-------------------- 内网是指在同一个IP地址段内的所有主机构成的网络。
外网是相对内网而言的,不在内网就在外网。

通常我们也可以把局域网称为内网,把互联网称为外网。

局域网通信,各主机之间,由于在同一个网段内,所以,不需要路由器转发数据。
互联网通信,各主机之间,不在同一个网段内,所以,之间需要(很多个)路由器转发数据。
每个路由器,像交警一样,指挥你要发送的数据,走哪条路才可以。

QQ是互联网聊天工具,和局域网聊天工具,还是有区别的。
而且QQ使用的是UDP协议来传递短消息。

局域网和互联网通信,主要区别还是在于,外网出口的路由器,是否进行了NAT和PAT转换。
一般互联网通信,外网出口的路由,都会进行转换。
那么,在程序设计的时候,采用C/S架构,并且,服务端要进行消息转发。
如果服务端不进行消息转发,而要各个客户端之间点对点通信,那么,在外网场景下,还要进行“打孔”。
这个就比较麻烦了。 --------------------编程问答-------------------- 学习 --------------------编程问答-------------------- 原理基本一样,网上很多内网聊天的实例 看看吧
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,