java 网络编程: 如何实现客户端与客户端之间的之间通信

不是通过C1-S-C2这样的间接方式,而是C1-C2。求思路与关键代码... 不是通过C1-S-C2这样的间接方式,而是C1-C2。求思路与关键代码 展开
 我来答
duzc2
推荐于2016-04-29 · TA获得超过2512个赞
知道大有可为答主
回答量:1987
采纳率:50%
帮助的人:2064万
展开全部
服务器告知双方对方的ip地址,并协调由哪一方主动连接。
如 协调结果是: 把c2的地址告诉c1,让c1主动连接c2,让c2打开端口等待连接。

要考虑认证问题,比如c2如何知道连接上来的是c1,而不是其他人,就需要有认证机制。
另外要考虑内网问题。由于从外部连接内网里面的IP地址是相当繁琐复杂的,所以需要特别的机制处理。
更多追问追答
追问
你说的前面那些我也懂,问题是连接问题。。怎么样才能实现两个Clien的直接连接。(接收消息的认证机制我有办法解决)
追答
直接用socket连接就可以了。tcp/ip的
gxq926
2012-10-14 · TA获得超过113个赞
知道小有建树答主
回答量:162
采纳率:0%
帮助的人:85.5万
展开全部
用udp通讯方式,这种是点对点通讯,不需要通过server。需要server的是tcp协议
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
du瓶邪
推荐于2016-06-18 · TA获得超过2.4万个赞
知道大有可为答主
回答量:1.7万
采纳率:100%
帮助的人:2869万
展开全部
(1)服务器首先启动监听程序,对指定的端口进行监听,等待接收客户端的连接请求。
(2)客户端程序启动,请求连接服务器的指定端口。
(3)服务器收到客户端的连接请求后与客户端建立套接字连接。
(4)连接成功后,客户端与服务器分别打开两个流,其中客户端的输入流连接到服务器的输出流,服务器的输入流
连接到客户端的输出流,两边的流建立连接后就可以双向的通信了。
(5)当通信完毕后客户端与服务器端两边各自断开连接。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wang5620479
2012-10-14 · 超过17用户采纳过TA的回答
知道答主
回答量:80
采纳率:0%
帮助的人:50.8万
展开全部
你把C1-C2中的一个用服务器来处理。。不就得了?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式