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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 网络编程: 如何实现客户端与客户端之间的之间通信相关的知识,希望对你有一定的参考价值。

不是通过C1-S-C2这样的间接方式,而是C1-C2。求思路与关键代码

服务器告知双方对方的ip地址,并协调由哪一方主动连接。
如 协调结果是: 把c2的地址告诉c1,让c1主动连接c2,让c2打开端口等待连接。

要考虑认证问题,比如c2如何知道连接上来的是c1,而不是其他人,就需要有认证机制。
另外要考虑内网问题。由于从外部连接内网里面的IP地址是相当繁琐复杂的,所以需要特别的机制处理。追问

你说的前面那些我也懂,问题是连接问题。。怎么样才能实现两个Clien的直接连接。(接收消息的认证机制我有办法解决)

追答

直接用socket连接就可以了。tcp/ip的

追问

Socket(String host,int post,InetAddress local,int port2) 用这个构造的socket?

追答

恩,c2那边用 ServerSocket开个端口监听。
具体的代码建议你看看相关的书籍和API了
网上也有很多socket通信的例子

参考技术A 用udp通讯方式,这种是点对点通讯,不需要通过server。需要server的是tcp协议 参考技术B (1)服务器首先启动监听程序,对指定的端口进行监听,等待接收客户端的连接请求。
(2)客户端程序启动,请求连接服务器的指定端口。
(3)服务器收到客户端的连接请求后与客户端建立套接字连接。
(4)连接成功后,客户端与服务器分别打开两个流,其中客户端的输入流连接到服务器的输出流,服务器的输入流
连接到客户端的输出流,两边的流建立连接后就可以双向的通信了。
(5)当通信完毕后客户端与服务器端两边各自断开连接。
参考技术C 你把C1-C2中的一个用服务器来处理。。不就得了?

以上是关于java 网络编程: 如何实现客户端与客户端之间的之间通信的主要内容,如果未能解决你的问题,请参考以下文章

用java多线程实现服务器与客户端之间的文件传输的代码!!!急!!!!

Java实现一个简单的网络聊天程序

java是如何实现聊天功能的?

谁可以给我一个以C语言或者java写的两个客户端之间的聊天,服务器中转的聊天程序,急求啊~~~

java知识总结上

java倒计时问题