javaのudp通信について
javaのudp通信を使用して簡単なチャットプログラムを作っています。サーバーなどは使用しないものです。
送信、受信それぞれのプログラムはできました。送信は送信を繰り返し、受信も受信を繰り返すものです。それをひとつにしたいと考えています。
送信プログラムの詳細はhttp://oshiete1.goo.ne.jp/qa3743572.htmlです。
受信プログラムは下記です。
ご指導お願いします。
********************************
import java.net.*;
public class reciverTest
{
DatagramPacket packet1;
private DatagramSocket socket1;
private int port = 19800;
public reciverTest() throws Exception
{
this.socket1 = new DatagramSocket(this.port);
}
public String receive() throws Exception
{
byte buffer[] = new byte[256];
int i;
packet1 = new DatagramPacket(buffer, buffer.length);
this.socket1.receive(packet1); // blocking
for (i = 0; i < buffer.length; i++)
{
if (buffer[i] == '\0')
{
break;
}
}
String msg = new String(packet1.getData(), 0, i);
return msg;
}
public void close() throws Exception
{
socket1.close();
}
public static void main(String[] args)
{
reciverTest receiver1;
System.out.println("Waiting ...");
try
{
receiver1 = new reciverTest();
while(true)
{
String msg = receiver1.receive();
System.out.println("受信したデータ⇒『" + msg +"』を受信しました。");
receiver1.close();
}
}
catch (Exception ex)
{
System.err.println("Error: " + ex.getMessage());
}
}
}
お礼
ご回答、ありがとうございます。 そして説明不足ですみません、全てLAN内のPC同士です。 もしかすると複数のネットワークアダプターがあるのが原因かもしれませんが 基本知識不足ですのでまずは、ご紹介頂いた頁を熟読して考えてみたいと思います。