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

author author     2023-03-21     379

关键词:

不是通过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 socket实现客户端和服务器之间的文件传输[重复]

】如何使用javasocket实现客户端和服务器之间的文件传输[重复]【英文标题】:howtoachievetransferfilebetweenclientandserverusingjavasocket[duplicate]【发布时间】:2011-06-0822:14:04【问题描述】:我已经实现了简单的TCP服务器和TCP客户端类,它们... 查看详情

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

...可以在不同的主机之间传输数据。在聊天功能中,一般有客户端和服务器两个角色。客户端是发送消息的一方,它需要创建一个Socket对象,指定要连接的服务器的IP地址和端口号。然后,客户端通过Socket对象的输入输出流向服务... 查看详情

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

...算机之间可靠无差错的数据传输。在TCP连接中必须要明确客户端与服务器端,由客户端向服务端发出连接请求,每次连接的创建都需要经过三次握手。三次握手:TCP协议中,在发送数据的准备阶段,客户端与服务器之间的三次交... 查看详情

java应用使用网络编程进行socket通信

...使用Java实现数据结构和算法:排序、查找、图​​一、网络编程和socket通信1.1什么是网络编程网络编程指的是编写应用程序来实现计算机网络之间数据交换的过程。网络编程可以帮助我们构建分布式系统,实现客户端与服务器... 查看详情

如何使用java网络编程在四个系统之间创建点对点通信

】如何使用java网络编程在四个系统之间创建点对点通信【英文标题】:Howtocreatepeertopeercommunicationamongfoursystemsusingjavanetworkprogramming【发布时间】:2014-01-2616:48:42【问题描述】:基本上我想建立如下网络1.服务器其他3个客户端。使... 查看详情

15网络与线程

聊天程序概述: 工作方式:客户端连接到服务器服务器建立连接并把客户端加到来宾清单中另外一个用户连接上来用户A发出信息到聊天服务器上服务器将信息送给所有的来宾  要让客户端能够工作,有三件事必须先... 查看详情

laravel5.5仓库模式文件之间接口与实现操作

...数据对象集合,负责协调业务和数据映射层之间的关系,客户端对象只需要构造一个清晰的查询请求,然后提交给仓库就行了。仓库里的对象可以通过客户端的请求进行增删改查,客户端可以在某个场景下,通过一个简单的对象... 查看详情

socket编程——怎么实现一个服务器多个客户端之间的连接

...ocket;67/*8*这个方法的主要目地是为了用多线程的方法实现网络编程,让多个客户端可以同时连接到一个服务器9*1:准备工作和单个客户端编程类似,先建立服务器端的套接字,同时让客户端那边调用 查看详情

java如何实现两个客服端之间互相发送信息

客户端1发信息给服务器,服务器转发信息给客户端2;客服端2接受服务端发来的信息,然后发信息给服务端,服务端转发信息给客服端1。客服端1和客户端2之间可以像聊天一样一直发信息参考技术A两个客户端发送消息,是通过服... 查看详情

如何测量客户端和服务器之间使用的网络带宽?

】如何测量客户端和服务器之间使用的网络带宽?【英文标题】:Howtomeasurethenetworkbandwidthusedbetweenclientandserver?【发布时间】:2012-08-2107:54:04【问题描述】:我有一个从服务器获取JSON响应的客户端。我想计算有多少请求/响应将消... 查看详情

客户端浏览器与web服务器之间的数据传递是以啥形式?

参考技术A用的是TCP/IP协议TCP/IP即TransmissionControlProtocol/InternetProtocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议... 查看详情

java是如何实现客服在线聊天功能的?

...技术和业务需求不同而异,以下是一个可能的实现思路:客户端和服务端之间的通信协议:在实现在线聊天功能的时候,需要考虑客户端和服务端之间的通信协议。可以使用WebSocket协议,这是一种全双工通信协议,支持客户端和... 查看详情

workerman-chat能实现与客户端软件之间的对话么

参考技术A可以使用VPN,不过效果很差。另外可以使用远程终端(即远程桌面)不过由于速达对其进行了限制(否则他的VOnline就卖不动了),要PJ才行。当然服务器要使用WINDOWS2003并安装终端服务组件才可以。 查看详情

java之网络编程

网络编程概述网络编程:通过编程实现不同计算机间数据的共享C/S:客户端/服务器模式好处:部分代码放在客户端,访问服务器只需要传输有效的数据.弊端:必须安装客户端,并且服务器升级,对应的客户端必须升级.B/S:浏览器/服务器模... 查看详情

十网络编程(代码片段)

  引言  两个程序a.py和b.py之间传递一个文件:a.py---------->文件------------>b.py   若在不同的电脑:计算机网盘、qq等,实现两个程序的通信  软件开发的架构  两个程序之间的通讯的应用大致分为两种:  第... 查看详情

如何使用 MySQL 在多个客户端之间高效地同步数据?

】如何使用MySQL在多个客户端之间高效地同步数据?【英文标题】:HowtoefficientlysyncdatabetweenmultipleclientswithMySQL?【发布时间】:2019-05-3110:33:57【问题描述】:我正在建立一个基于arduino的网络,该网络具有多个控制器(电话、网页... 查看详情

java示例代码_Rest API:如何检查客户端和端点之间的连接

java示例代码_Rest API:如何检查客户端和端点之间的连接 查看详情

如何在linux中同步套接字服务器和客户端之间的通信速率

...间】:2014-02-2012:19:39【问题描述】:我目前正在从事Linux网络编程,而且我是新手。我正在用Linux网络编程(C语言)开发一些基于StreamSocket(TCP)的客户端-服务器应用程序。服务器-会不断发 查看详情