有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何正确读取socket数据包

我有一个内置Java的服务器,它在特定端口监听传入连接。但当我读到一行一行的数据包时,它就卡住了

下面是我的代码中读取数据包数据的部分:

BufferedReader BR = new BufferedReader(IR);
System.out.println("Received Request!");
String MESSAGE = null;
Stream<String> ReadPacket = null;

try {
    dOut = new DataOutputStream(socket.getOutputStream());
} catch(Exception ie) {
    System.out.println("Cound'nt create dOut");
}

try {
    IR = new InputStreamReader(socket.getInputStream());
} catch(Exception ie) {
    System.out.println("Cound'nt create IR");
}

BufferedReader BR = new BufferedReader(IR);
System.out.println("Received Request!");
String MESSAGE = null;
Stream<String> ReadPacket = null;

try {
    ReadPacket = BR.lines();
} catch(Exception ie) {
    System.out.println("Couldn't Receive Message");
}

Object[] arr = ReadPacket.toArray();
MESSAGE = arr[0].toString();
System.out.println(MESSAGE);

正如您所看到的,它读取数据包的行,然后将其转换为String,但它卡在循环中,从不打印我MESSAGE。直到我关闭我的标签,我从它的要求是出环


共 (0) 个答案