【发布时间】:2014-01-26 22:57:13
【问题描述】:
我目前正在开发一个简单的客户端/服务器应用程序,该应用程序从命令行接收单个输入。有效输入是整数或“r”。如果输入一个整数,则服务器应该将该整数的值添加并输出到所有先前的整数输入。如果输入 'r',服务器应该将输出值重置为 0。
在客户端,我得到以下代码来将不同的输入类型传递给服务器:
if (args[0].equalsIgnoreCase("r")) {
out.write("reset".getBytes());
} else {
out.write(i); //i is an integer that was converted from args[0] using Integer.parseInt()
}
但是,在服务器端,我想确定它从客户端获得的输入类型。具体来说,有没有办法让服务器检查它是从客户端接收整数还是字节数组?
【问题讨论】:
-
无论是来自 int 还是来自 string,字节看起来都是一样的。你需要让客户端告诉服务器它正在发送什么类型的数据。
-
那我该怎么做呢?
-
这取决于你。您可以发送类型的名称,或为每种类型分配一个编号。请务必考虑以后如何添加新类型。
-
总之,写网络协议很难。
标签: java client-server inputstream outputstream