Java广播和监听在同一端口上

Java广播和监听在同一端口上,java,Java,如何将消息从单个服务器广播到多个客户端,并侦听其中一个客户端的回复 我使用多播编程将消息广播给客户端。如果我通过TCP或UDP将消息从我的一个客户机发送回服务器,我将得到一个“java.net.ConnectException:Connection-seeded:connect”异常 请帮帮我 提前谢谢 发件人代码: //广播信息 msg = "This is multicast! " + counter; counter++;

如何将消息从单个服务器广播到多个客户端,并侦听其中一个客户端的回复

我使用多播编程将消息广播给客户端。如果我通过TCP或UDP将消息从我的一个客户机发送回服务器,我将得到一个“java.net.ConnectException:Connection-seeded:connect”异常

请帮帮我

提前谢谢

发件人代码:

//广播信息

    msg = "This is multicast! " + counter;
                counter++;
                outBuf = msg.getBytes();

                // Send to multicast IP address and port
                InetAddress address = InetAddress.getByName("224.2.2.3");
                outPacket = new DatagramPacket(outBuf, outBuf.length, address,
                        PORT);

                socket.send(outPacket);

                System.out.println("Server sends : " + msg);

                socket.close();



                // Receiving TCP
                apSock = new Socket("131.151.88.165", 6161);
                apBuffReader = new BufferedReader(new InputStreamReader(
                        apSock.getInputStream()));
                while ((ap2Toap1 = apBuffReader.readLine()) != null) {
                    System.out.println(ap2Toap1);
                }

Receiver Code :

count++;
                inPacket = new DatagramPacket(inBuf, inBuf.length);
                socket.receive(inPacket);
                String msg = new String(inBuf, 0, inPacket.getLength());
                System.out.println("From " + inPacket.getAddress() + " Msg : "
                        + msg);

                socket.close();



                // Sending TCP
                apSock = new Socket("131.151.88.165", 6161);
                System.out.println("Hello2");
                respWriter = new PrintWriter(apSock.getOutputStream());
                System.out.println("Writing back to the server");
                respWriter.println(outBuf);
                if (respWriter != null)
                    respWriter.close();

代码中没有侦听。Java中的TCP侦听是通过ServerSocket完成的。你没有用。相反,您在两端使用套接字。所以你有两个客户端,没有服务器。两个TCP客户端之间不可能进行通信。

嘿,你能提供整个堆栈跟踪和建立连接所涉及的java代码吗?发送方代码:InetAddress address=InetAddress.getByName(“224.2.2.3”);outPacket=新的DatagramPacket(突发,突发长度,地址,端口);套接字。发送(输出包);//接收TCP apSock=新套接字(“131.151.88.165”,6161);apBuffReader=newbufferedreader(newinputstreamreader(apSock.getInputStream());while((ap2Toap1=apBuffReader.readLine())!=null){System.out.println(ap2Toap1);}try{Thread.sleep(500);}catch(InterruptedException ie){}接收器代码:count++;inPacket=新数据包(inBuf,inBuf.length);插座。接收(inPacket);String msg=新字符串(inBuf,0,inPacket.getLength());System.out.println(“From”+inPacket.getAddress()+“Msg:+Msg”);socket.close();//发送TCP apSock=新套接字(“131.151.88.165”,6161);System.out.println(“Hello2”);respWriter=新的PrintWriter(apSock.getOutputStream());System.out.println(“写回服务器”);代表println(exputf);如果(respWriter!=null)respWriter.close();我建议您编辑初始问题,以便充分利用该功能正确设置源代码的格式。我可以将消息广播给多个客户端,但无法回音