我正在尝试构建一个简单的服务器 - 客户端代码,服务器发送信息,客户端读取它。但是,如果我发送的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
为什么会这样?
答案 0 :(得分:0)
read()
函数为您提供单独的字节,每个字节在0
和255
之间。如果要使用read()
函数,则必须将字节组合到结果数据中。如何执行此操作取决于数据的确切含义。
您可能还想查看readString()
和其他阅读功能。更多信息可以在the reference找到。