用JAVA Socket可以实现同一路由器下的两台电脑进行通信。那么如果不是同一路由器的电脑可以通信吗?
5个回答
展开全部
可以 但是会困难很多 就像qq这样的软件
首先就是把ttl设的大一些 这样保证过路由的时候不会把你的包扔了
其次就是一个NAT的问题,如果是你和固定ip的服务器连接还好,就怕是两个客户端点点互联,对等体的连接是有些困难的,因为所有的pc几乎都在NAT后面
比如你是192.168.0.1 而我是192.168.0.2 可是杂俩根本就不在一个网段,
这两个地址都是只是NAT后面的保留地址
过NAT的时候,可能你实际是123.1.1.1 而我是203.1.1.1 这次是这样 下次还会变 DHCP么
两个进程要想通信,就得知道彼此的真实socket
两个程序怎么知道彼此的ip呢?
这就需要一个固定ip的第三点(中心点服务器)
你和我上来都进行对固定ip的第三点连接 第三点就会拿到你和我的NAT前面的真实地址
然后第三方 把我的真实地址告诉你 把你的告诉我
这样咱们就可进行点对点了
这就像我不知道你的电话,你也不知道我的电话,咱们怎么联系
只能通过路人甲,这个路人甲的电话是固定且已知的,咱们都先给路人甲打电话,然后他手机就能显示你的和我的号码了,他再把彼此的号码发给对方,双方就知道对方的号码了,就可以互相打电话了
比如TCP与UDP的打洞和穿洞 就是这种NAT穿越技术 这是P2P的基础 也是真实网络环境下点点互联的一个比较普遍的方案
首先就是把ttl设的大一些 这样保证过路由的时候不会把你的包扔了
其次就是一个NAT的问题,如果是你和固定ip的服务器连接还好,就怕是两个客户端点点互联,对等体的连接是有些困难的,因为所有的pc几乎都在NAT后面
比如你是192.168.0.1 而我是192.168.0.2 可是杂俩根本就不在一个网段,
这两个地址都是只是NAT后面的保留地址
过NAT的时候,可能你实际是123.1.1.1 而我是203.1.1.1 这次是这样 下次还会变 DHCP么
两个进程要想通信,就得知道彼此的真实socket
两个程序怎么知道彼此的ip呢?
这就需要一个固定ip的第三点(中心点服务器)
你和我上来都进行对固定ip的第三点连接 第三点就会拿到你和我的NAT前面的真实地址
然后第三方 把我的真实地址告诉你 把你的告诉我
这样咱们就可进行点对点了
这就像我不知道你的电话,你也不知道我的电话,咱们怎么联系
只能通过路人甲,这个路人甲的电话是固定且已知的,咱们都先给路人甲打电话,然后他手机就能显示你的和我的号码了,他再把彼此的号码发给对方,双方就知道对方的号码了,就可以互相打电话了
比如TCP与UDP的打洞和穿洞 就是这种NAT穿越技术 这是P2P的基础 也是真实网络环境下点点互联的一个比较普遍的方案
追问
两个客户端进行通信,通信的信息要不要通过服务器?比如客户端A给客户端B发送信息,这个信息是通过服务器再发送给客户端B,还是直接发送给客户端B?
追答
都可以
通过服务器,我先发给服务器,服务器再发给你,业务逻辑要简单很多,但是服务器显然不堪重负。
不通过服务器,也指的是需要一开始连接一下服务器,然后后面的就是点对点了,总的来说还是有中心点的,但要比第一种复杂的多
现在qq啊 迅雷什么的显然不通过服务器
比如qq你上线去和服务器连一次拿到你的好友列表和他们的socket ,并告诉服务器你的socket,然后聊天就是和他们建立的点对点的连接了 发送的内容根本不走服务器
其实还有一种,就是完全点对点,无服务器,无中心点,那就复杂了,因为所有终端都是对等体,根本没有服务器与客户端的差别
Storm代理
2023-07-25 广告
2023-07-25 广告
StormProxies是一家国内优质海外HTTP代理商,拥有一个庞大的IP资源池,覆盖200多个地区,IP数量大且匿名度高。其优点还包括超高并发、稳定高效、技术服务等特点,同时提供HTTP、HTTPS以及SOCKS5协议支持。此外,Sto...
点击进入详情页
本回答由Storm代理提供
展开全部
公网IP就可以...
恩 要防火墙打开端口才可以
恩 要防火墙打开端口才可以
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个和路由器没关系,就好像你浏览网站一样,实际上那些数据中间都经过NNNNN个路由器了
怎么说呢⋯⋯因为现在都是走TCP/IP协议的,所以只要IP能访问(ping通)就都没问题啊,
怎么说呢⋯⋯因为现在都是走TCP/IP协议的,所以只要IP能访问(ping通)就都没问题啊,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
当然可以,只要两台电脑都连接网络,都有IP地址
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
当然可以啦
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询