我正在尝试使用此代码连接到套接字
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))
处理这个问题的最佳方法是什么。