今天写毕设,用java的socket传输数据,人为分组,同时使用了nio中的select模型。
碰到的神奇的事情:
客户端:
byte []bys;
DataOutputStream out;
out.write(new String(bys));
服务器:
byte []bys;
ByteBuffer readbuff;
readbuff.get(bys);
服务器居然出错,显示溢出,可是我试了在socket外byte和String之间反复转换是没有任务问题的啊。
客户端只能改成:
byte []bys;
DataOutputStream out;
out.write(bys);
而且我才发现int有单独的接口,之前我把整型写入成字符串,难怪读出来的数是错的。
习惯于使用C/C++,不太习惯java对于底层结构的操作
DataOutputStream out;
out.writeInt(1)
ByteBuffer readbuff;
readbuff.getInt()
有时间我或许把最近春招的有意思的笔试题目总结一下。
网友评论