我的应用程序卡在mBufferIn.readLine()上

时间:2017-04-09 09:32:05

标签: java sockets tcp bufferedreader tcpclient

我一直在尝试从服务器向我的应用程序发送消息。我正在使用应用程序“Simple Socket Tester”来创建服务器并向应用程序发送UTF-8消息。我从未在我的应用程序上收到消息,当我调试应用程序时,它被卡在“mServerMessage = mBufferIn.readLine();”行上永远不会超越它。所以它似乎无法读取消息。当我暂停调试器时,我来到“LocalSocketImpl.java”,它停留在“私有本机FileDescriptor接受”。我该怎么做才能防止这种情况发生?

我的TCP客户端:

@RequestMapping(value = "/{carId}", method = RequestMethod.GET)
Car getCarById(@PathVariable(value = "carId") Long carId) {
    carDb.get(carId)
}

}

1 个答案:

答案 0 :(得分:1)

您收到的字符串必须包含' \ n'在末尾。 {{1}}方法将停止阅读或等待流,直到它读取' \ n'。