このコードを使用してソケットに接続しようとしています
public static Socket connectToSocket(String name)
{
try
{
while(true)
{
byte[] receiveData = new byte[name.length()];
DatagramSocket clientSocket = new DatagramSocket(PORT);
DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
clientSocket.receive(receivePacket);
if(Arrays.equals(name.getBytes(),receiveData))
{
return new Socket(receivePacket.getAddress(),PORT);
}
}
}
catch(Exception e)
{
e.printStackTrace();
return null;
}
}
しかし、私の問題は、すべての情報を処理するためにバイト配列を作成するサイズがわからないことです。receiveData 配列を巨大なサイズにしようとしましたが、このステートメントが台無しになるため、うまくいかないことに気付きました。
if(Arrays.equals(name.getBytes(),receiveData))
この問題に対処する最善の方法は何でしょうか。