我已经问了几个关于套接字传输的协议缓冲区的问题......再次,当我想从客户端在服务器端接收数据时,我遇到了问题。
这是客户端代码:
int sendSystem(int sockfd, const void *buf, size_t nbytes, int flags) {
return ::send(sockfd, buf, nbytes, flags);
}
就像客户端通过代表每个字节的整数发送数据一样。所以数据以字节为单位进行传输。
这是服务器端代码:
GameRequest gameRequest=GameRequest.parseFrom(CodedInputStream.newInstance(socket.getInputStream()));
GameRequest gameRequest=GameRequest.parseDelimitedFrom(socket.getInputStream());
GameRequest gameRequest=GameRequest.parseFrom(socket.getInputStream());
我已经尝试了上面的各种方法来接收数据并解析它...结果没有一个好方法。我只是得到一条消息“消息有一个无效的标签”或者如果我打开调试模式,它只是站在上面的代码行,我不能移动到下一步或进入调用方法因为按钮步骤结束并进入禁用...