java中soket一个服务器可以向多个客服端发送信息,怎么实现!

如题所述

第1个回答  推荐于2018-05-06
1步.首先主服务器在阻塞等待客户端连接
2步.当有连接来的时候就分配给子服务器来和这个socket会话
3步.保存每个客户端的socket对象,比如存在一个链表onlineList<Socket>中,

///////////////////////////////////
主服务器类
onlineList= Collections.synchronizedList(new LinkedList<Socket>());//创建一个用于存放在线用户的socket对象的表
while()
{
Socket client_socket = server.accept(); //1步
subServer new_sub = new subServer(client_socket);//2步
onlineList.add(client_socket);//3步
}

然后当要群发就可以在主服务器执行下面的方法
///////////////////////////
主服务器类的群发方法
BufferedWriter writer;
String content = "要发送的内容";
for(Socket target: onlineList) //从列表中找出
{
writer = new BufferedWriter(new OutputStreamWriter(target.getOutputStream())); //循环对每个socket对象使用getOutputStream
writer.write(content); //发送出去
writer.flush(); //清空刷缓冲区
}本回答被提问者和网友采纳

java socket如何实现客户端与客户端的交互?
1、服务端监听一个端口,其它客户端都通过这个端口和服务端进行通信。2、每个客户端连接上来,服务端给其一个标识ID。然后向其它所有客户端广播一下有新客户端接入,ID多少。3、客户端要向客户端发送消息,可以以消息包的形式发送,就是把目的客户端的标识和发送的内容组成一个数据包发往服务器,服务器...

Send 怎样才能发送信息给多个客户端
使用基于TCP协议的Socket一个客户端要发起一次通信,首先必须知道运行服务器端的主机IP地址。然后由网络基础设施利用目标地址,将客户端发送的信息传递到正确的主机上,在Java中,地址可以由一个字符串来定义,这个字符串可以使数字型的地址(比如192)。而在android 4\/apk\/res\/android" android:layout_...

java socket 两个客户端通信问题!
这个可以实现,但会麻烦一些。1.先说一下简单的点的吧。用TCP的方式。你所有的消息都是发给服务器。包含你的IP及通信端口,及对方的IP及通信端口信息。当然这些是隐藏在数据报中的。这样由服务器来进行分发。2.你说的那种方式有点类似TCP与UDP混合。首先启动一个SERVER 然后每 一个客户端,先要登陆...

JAVA serverSocket连接多个客户端
用一个Socket只能是一个客户端与服务器连接,如果要多个客户端,需要多个Socket,每次有客户端加入,都新建一个Socket,并且与之对应新建一个线程。建议使用HashMap实现。

java socket发送和接收多条数据的情况怎么解决
Thread.sleep(300);}catch(Excepion e){} \/\/注意这里的inStream是DataInputStream 当然你也可以加以装饰 String message= inStream.readUTF();if(message!=null){ System.out.println("收到消息:"+message);} } 只有这样才能不断从发送端收到消息,这段代码只是给你一个提示,有问题给我留言,...

java是如何实现聊天功能的?
在Java中,实现聊天功能通常使用Socket编程和多线程编程来实现,以下是一些基本的实现步骤:建立服务器端:服务器端需要创建一个ServerSocket对象,该对象监听指定的端口,等待客户端连接。当客户端连接成功后,服务器端会创建一个新的线程来处理该客户端的请求,这样可以让服务器同时处理多个客户端的请求。建...

java对外提供多个socket接口
Java可利用ServerSocket类对外部客户端提供多个socket接口。基本的做法是先创建一个ServerSocket实例,并绑定一个指定的端口,然后在这个实例上调用accept()方法等待客户端的连接请求。一旦有连接请求到来,ServerSocket将返回一个Socket实例,可以用这个Socket实例进行数据的收发和处理。需要对外提供多个端口的情况...

JAVA怎样让服务器向指定端口的客户端发送信息
2种方法:1、服务器主动发送时,客户端也需要启一个ServerSocket进行侦听 2、服务器被动发送时,客户端发起连接请求询问,服务器进行应答

java socket如何实现客户端与客户端的交互?
1、无论客户端还是服务器都要有能力构造实体bean(比如叫做userbean,存放用户信息),构造userlist封装userbean数组。并且,上述类要支持序列化和反序列化。2、服务端将list userlist序列化,然后利用serversocket发送。3、客户端利用socket接收,对userlist反序列化,遍历userbean数组得到每一个用户的信息。

如何实现socket信息推送
1.首先,了解socket的连接过程:1)服务器监听;2)客户端请求;3)连接确认(具体详情可以见百度百科,我在这也就不多说了)。2.socket通信机制:服务器端 一、创建服务器套接字(CREATE)。二、服务器套接字进行信息绑定(BIND),并开始监听连接(LISTEN)。三、接受来自客户端的连接请求(ACCEPT)...

相似回答