//首先定义协商各个选项的值
final byte SB = (byte) 250;// 子选项开始
final byte SE = (byte) 240;// 子选项结束
final byte WILL = (byte) 251;// 选项协商
final byte WONT = (byte) 252;// 选项协商
final byte DO = (byte) 253;// 选项协商
final byte DONT = (byte) 254;// 选项协商
final byte IAC = (byte) 255;// 数据字节255
final byte ECHO = (byte) 1;// 回显
final byte IS = (byte) 0;// 是
final byte SUPPRESS = (byte) 3;// 抑制继续进行
final byte TT = (byte) 24;// 终端类型
InputStream iis=accsoc.getInputStream();
OutputStream oos=accsoc.getOutputStream();
//向客户端发送选项希望管理回显
oos.write(IAC);
oos.write(WILL);
oos.write(ECHO);
oos.flush();
int a;
a = (iis.read()& 0xff);//&0xff是为了防止byte的255溢出,java中byte的取值是-128~127,与操作后read()方法返回的高位在转给a时为0,防止在付给int型的过程中高位被自动置为1.
while (a != 1) {
System.out.println("command:" +a);
a = (iis.read()& 0xff);
}
转载于:https://my.oschina.net/superise/blog/531231