Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java inputstream未读取前导十六进制字节_Java_Sockets - Fatal编程技术网

java inputstream未读取前导十六进制字节

java inputstream未读取前导十六进制字节,java,sockets,Java,Sockets,我已将Telnet客户端定义为: TelnetClient telnet = new TelnetClient(); telnet.connect(server, port); 然后我得到inputstream: InputStream in = telnet.getInputStream(); 然后试着循环阅读上面的内容: while (true) { int TEST = in.read(); } 当我收到输入的“文本”部分时,一切似乎都

我已将Telnet客户端定义为:

    TelnetClient telnet = new TelnetClient();
    telnet.connect(server, port);
然后我得到inputstream:

    InputStream in = telnet.getInputStream();
然后试着循环阅读上面的内容:

    while (true) {
    int TEST = in.read();
    }
当我收到输入的“文本”部分时,一切似乎都很顺利。。。但我缺少了(对我来说非常重要!)前导字节。 以下是我在港口看到的情况:

    64: a88f ffff 3034 3131 3032 3030 3030 3030    ¨...041102000000
    80: 3030 322e 3031 3131 2e36 2e34 2020 3135    002.0111.6.4  15
    96: 2e39 2e33 2020 3030 3132 30                .9.3  00120
注意“ffff”:这是我需要的主要部分(之前的一切都是垃圾:TCP通信的一部分)

但是,在打印“TEST”变量时,我只看到“041102…etc”

我也尝试过使用BOMInputStream,但我也无法得到它

=>你知道我怎样才能收到这些吗


谢谢你的帮助

TelnetClient实例提供的输入流只提供数据字符。Telenet协议信令内容将被
TelnetClient
代码过滤掉


如果您想获得信令信息、选项等,则需要使用
TelnetClient
API中的其他方法。您可以尝试多种方法。例如,您可以注册选项处理程序或通知处理程序,也可以注册“间谍流”。TelnetClient实例提供的输入流只提供数据字符。Telenet协议信令内容将被
TelnetClient
代码过滤掉


如果您想获得信令信息、选项等,则需要使用
TelnetClient
API中的其他方法。您可以尝试多种方法。例如,您可以注册选项处理程序或通知处理程序,也可以注册“间谍流”.

如果你真的想查看所有数据,你应该只使用
Socket
而不是
TelnetClient

如果你真的想查看所有数据,你应该只使用
Socket
而不是
TelnetClient

你如何“窥探端口上发生了什么?”?使用Solaris snoop命令:snoop-x 0端口XXXXIs可能是数据包头的一部分,而不是实际数据?或者它可能是一个telnet头?(你需要在这里使用TelnetClient,而不仅仅是正常的网络连接吗?)-不,我实际上不需要使用TelnetClient。。。我可能会尝试使用套接字连接(但现在要到周末了,时间安排不好)-至于我需要的部分(ffff),那是数据的一部分,这是肯定的(我用wireshark确认了这一点,而且,我设法用Perl实现了“相同”的代码),已经感谢您尝试使用其他东西的想法。。。我本应该想到这一点,但是星期五晚上没有帮助你如何“窥探端口上发生了什么”?使用Solaris snoop命令:snoop-x 0 port xxx是数据包头的潜在部分,而不是实际数据?或者它可能是一个telnet头?(你需要在这里使用TelnetClient,而不仅仅是正常的网络连接吗?)-不,我实际上不需要使用TelnetClient。。。我可能会尝试使用套接字连接(但现在要到周末了,时间安排不好)-至于我需要的部分(ffff),那是数据的一部分,这是肯定的(我用wireshark确认了这一点,而且,我设法用Perl实现了“相同”的代码),已经感谢您尝试使用其他东西的想法。。。我本该想到的,但是星期五晚上不行,谢谢。我星期一早上试试,谢谢。星期一早上我会试试的