ldcf.net
当前位置:首页 >> jAvA soCkEt 一对多通信,怎么给指定的设备发送信息 >>

jAvA soCkEt 一对多通信,怎么给指定的设备发送信息

一个客户端socket对象连接成功时,你保持这个连接状态不关闭,只要用这个对象发送的就只会到那个客户端。 如果是短连接的话,你就需要用客户端的标识来保存好这个message,等下次客户端再连接的时候,用标识找到message,然后发送给它。

看看是不是线程被锁住了,比如socket.read(),最好是一个连接用独立的线程,这样不会相互影响

1步.首先主服务器在阻塞等待客户端连接 2步.当有连接来的时候就分配给子服务器来和这个socket会话 3步.保存每个客户端的socket对象,比如存在一个链表onlineList中, /////////////////////////////////// 主服务器类 onlineList= Collections.syn...

你服务器accept方法后是不是会得到一个Socket 为这个Socket(是通过这个Socket和客户端的Socket进行沟通)分配一个服务 我是这么用的ServerThread tt=new ServerThread(socket); class ServerThread { private Socket so; public ServerThread(S...

通信协议是自己定义的数据格式 然后通过大概以下方法调用 { String host; int port; byte[] data; Socket s=new Socket(host,port); OutputStream out = s.getOutputStream(); out.write(data); out.close(); s.close(); }

你这个问题问的我很尴尬,也有点不知道咋回,我大体说说,看能否解决你的问题,答: 能。 把socket作成一个长连接,后者说socket本身就是一个种链接,这个链接你不kill掉,就会存在(理论上。。。),他会一直发送数据,具体是否触发看你自己是...

getOutputStream(),从连接获取输入流对象。 这个对象可以和BufferedOutputStream,OutputStreamWriter等配合使用; 建立BufferedOutputStream对象 BufferedOutputStream br=new BufferedOutputStream(socket.getOutputStream()); 调用BufferedOu...

byte[] buf;数据InetAddress address = InetAddress.getByName(IP地址);DatagramPacket dp = new DatagramPacket(buf,buf.length,address,Integer.parseInt(端口号));DatagramSocket ds = new DatagramSocket();这种就可以发送数据

将链接过来的socket保存,需要广播时遍历发送: 在server主类中定义private static List sos=new ArrayList();并添加getset方法,在server线程类的构造方法中: public ServerThread(Socket s,List ships){ this.s=s; this.ships=ships; ss.setS...

在客户/服务器通信模式中, 服务器端需要创建监听端口的 ServerSocket, ServerSocket 负责接收客户连接请求。ServerSocket并不能直接向客户端发送数据。 通常做法是,ServerSocket接收到一个连接请求,用accept建立连接: socket = serverSocket....

网站首页 | 网站地图
All rights reserved Powered by www.ldcf.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com