社区
Java SE
帖子详情
java如何编写远程聊天工具
何愁山高水深
2013-08-26 10:03:07
各位java大神,我想通过java sock来实现一个远程的网络聊天工具,不仅是局域网,就是不知道如何获取对方的ip和端口啊,请问谁有这方面的经验,感激不尽了!
...全文
387
13
打赏
收藏
java如何编写远程聊天工具
各位java大神,我想通过java sock来实现一个远程的网络聊天工具,不仅是局域网,就是不知道如何获取对方的ip和端口啊,请问谁有这方面的经验,感激不尽了!
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
灰蛋一个
2013-08-27
打赏
举报
回复
每个内网都对应一个公网的 可以看看百度IP 就是你的外网IP了
Scaling_Up
2013-08-27
打赏
举报
回复
同问啊 http://bbs.csdn.net/topics/390567381
lcf
2013-08-27
打赏
举报
回复
当你连去腾讯的时候,你总要经过公网吧,你总得有个公网IP吧,这条连接就是临时的通道,你的路由器做了临时的映射,临时分配了一个端口,腾讯服务器发送的所有数据都会经过这个端口转发到你的机子上。 如果别人企图用这个端口连接,那自然是不行的了,因为源IP不一样。 如果别人想连接你,就要你自己通过UPnP协议让路由器临时分配一个端口用来接受传入连接,再转发给你。Java里有Cling和
Weupnp
,具体我也没研究过,大概原理是这样。如果你的路由没有开启或者不支持UPnP,那别人是没办法连接你的,你所收到的东西只能通过第三方(腾讯服务器)中转。因为腾讯服务器可以跟A和B交流,而A和B直接却不能交流,所以A把东西给服务器,服务器再给B
何愁山高水深
2013-08-27
打赏
举报
回复
回复 灰蛋一个: 谢谢你,那我还有一个疑问,就是我们每次连接腾讯的服务器,腾讯服务器可以获取我们的ip和端口,但是,作为远程连接,我们的ip都是192.168...的内网啊,并没有提供对外的公网给腾讯,他理论上是不能访问我的机器的内网啊,腾讯是怎样做到啊?
灰蛋一个
2013-08-27
打赏
举报
回复
服务器可以不同 但是获取的数据必须是同一地的
何愁山高水深
2013-08-27
打赏
举报
回复
哦,原来这样,我们每次登陆qq时,请求时,所连接的腾讯的服务器的ip和端口都是相同的吗?
灰蛋一个
2013-08-27
打赏
举报
回复
如果IP换了呢,根据用户的ID 判定的 QQ好友是在本地文件中存储以后获取的
何愁山高水深
2013-08-27
打赏
举报
回复
回复QianFeiYiTingJi: 你说的对,我的需求就是要程序主动获取客户端的ip啊?
QianFeiYiTingJi
2013-08-27
打赏
举报
回复
那是客户端主动连接的,服务器一定会知道的
何愁山高水深
2013-08-26
打赏
举报
回复
回复lcf :这么说,人家腾讯qq他怎么就可以知道对方的ip和端口,要不他怎么可以连上所有的好友呢?
lcf
2013-08-26
打赏
举报
回复
你得有一个服务器,存着所有登录用户的IP,客户端是一定要知道服务器的IP才能登陆,这个逃不掉的
何愁山高水深
2013-08-26
打赏
举报
回复
是啊,就是好友一登陆,程序就要获取对方的ip和端口啊,这样socket才能连上对方吧,是这个思路吧?
末日哥
2013-08-26
打赏
举报
回复
需要知道别人的IP吗
Socket应用,简单
聊天工具
实现
这是一个使用
Java
实现,使用Socket技术实现的简单的
聊天工具
并且使用了简单的IO技术。
详解
JAVA
远程
debug
一文聊明白如何
远程
debug
java
普通程序。web程序和spring boot程序。
在 IntelliJ IDEA 中
远程
调试
Java
程序
在 IntelliJ IDEA 中进行
远程
调试与
远程
部署是不同的。
远程
调试指的是事先以其它方法将
Java
应用打包并放在
远程
服务器中,然后以调试模式运行该
Java
应用,最后使用本地的 IntelliJ IDEA 进行
远程
连接该应用。
远程
部署指的是直接使用本地的 IntelliJ IDEA 将本地的
Java
应用打包、部署到
远程
服务器,并
远程
运行该应用。 可以看出,
远程
部署要比
远程
调试方便很多。但有些环境下,只支持
远程
调试,而不支持
远程
部署。本文主要讲
远程
调试。 关于在 Intelli
Android
远程
服务
编写
和调用教程
网上汗牛充栋的文章都是介绍Android
远程
服务的,一个个将Binder机制、AIDL讲得头头是道,然而没有几个人能够给出清晰的范例说明如何用最快的方法学会
编写
和调用一个Android
远程
服务。若你仅仅是想如何
编写
或者调用Android的
远程
服务,而懒得去理解Binder机制是如何运行的,那么本篇文章正好适合你。毕竟现在人人都会开车,但没有几个人明白发动机到底是如何运作的。
【
Java
】UDP Socket编程案例——文件传输&
聊天工具
UDP(用户数据报协议)就像日常生活中的邮件投递,是不能保证可靠地寄到目的地。UDP是无连接的,对系统资源的要求较少,UDP可能丢包,也不保证数据顺序。但是对于网络游戏和在线视频等要求传输快,实时性高,质量可稍差一点的数据传输,UDP还是非常不错的。UDP是无连接协议,不需要像TCP一样监听端口,建立连接,然后才能进行通信。
java
.net包中提供了两个类:DatagramSocket和Dat...
Java SE
62,620
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章