客户端的信息失真

时间:2017-02-11 10:24:44

标签: processing

我正在尝试构建一个简单的服务器 - 客户端代码,服务器发送信息,客户端读取它。但是,如果我发送的int大于255,则int会向客户端发送失真

服务器代码:

import processing.net.*;
Server myServer;

void setup() {

  size(300, 250);
  myServer = new Server(this, 5204);


}

void keyPressed()
{
  myServer.write(2221);
}
void draw()
{

}

客户代码:

import processing.net.*; 
Client myClient; 
int dataIn = 0;

void setup() {

  size(300, 250);
  myClient = new Client(this, "127.0.0.1", 5204);


}

void draw() {
  if (myClient.available() > 0) { 
    dataIn = myClient.read();
    println(dataIn);
  }

}

以下是客户端打印的内容:

173

为什么会这样?

1 个答案:

答案 0 :(得分:0)

read()函数为您提供单独的字节,每个字节在0255之间。如果要使用read()函数,则必须将字节组合到结果数据中。如何执行此操作取决于数据的确切含义。

您可能还想查看readString()和其他阅读功能。更多信息可以在the reference找到。