无法读取套接字响应中的换行符/回车符

乔西玛·齐默尔曼(Josimar Zimermann)

我正在通过telnet连接将设置命令发送到TP-LINK无线路由器:

Trying 1.2.3.4...
Connected to 1.2.3.4.
Escape character is '^]'.
*HELLO*$$$
CMD
factory RESET
factory RESET

Set Factory Defaults
<4.00> set sys autoconn 0
set sys autoconn 0

AOK
<4.00>
...

我有一个PHP代码,该命令执行命令发送并使用套接字获取响应:

socket_write($socket, "factory RESET\r"); // send command
$response = socket_read($socket, 256); // get response

PHP可以正常工作。$response变量包含:

factory RESET

Set Factory Defaults

但是使用Java我有问题。使用BufferedReader对象读取响应,我可以获得第一行内容。但我不能得到以下几行:

BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
// ...
bw.write("factory RESET");
bw.newLine();
bw.flush();
// ...
StringBuilder sb = new StringBuilder();

String s;
while ((s = br.readLine()) != null) {
   sb.append(s);
}

我可以获得第一行的内容,但是第二读不会继续进行,也不会引发异常...如果使用此read函数,则仅返回第一行:

char[] buffer = new char[256];
br.read(buffer, 0, 256);
String response = new String(buffer); // response is "factory RESET"

问题是什么?

用户名
  1. 您的PHP代码执行两次读取。您的Java代码尝试读取直到流结束,这仅在对等方关闭连接时发生。进行一次阅读。

  2. \r\n除非您使用的不是二进制模式,否则Telnet协议中的行分隔符定义为还不如\r或任何BufferedWriter可能你的平台上做。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Java中读取不以换行符或回车符结尾的行?

来自分类Dev

如何在python中从yaml存储或读取文字回车符和换行符

来自分类Dev

C#ReadLine转义回车符/换行符?

来自分类Dev

在Dart中计算回车符或换行符

来自分类Dev

保留换行符和回车符Powershell

来自分类Dev

Vim:显示换行符和回车符

来自分类Dev

Word:用回车符替换自动换行符

来自分类Dev

用逗号、换行符和回车符分割

来自分类Dev

如何用单个回车符替换多个回车符/换行符?

来自分类Dev

Swift字符串中的换行符和/或回车符

来自分类Dev

C#生成的Outlook电子邮件中的换行符或回车符

来自分类Dev

在Visual Studio Code中查找并替换为换行符和回车符

来自分类Dev

如何从列中删除回车符和换行符?

来自分类Dev

在HTML中是否可以使用没有“回车符”的“换行符”?

来自分类Dev

将换行符或回车符直接在列中添加到Postgres中的分隔符值

来自分类Dev

将换行符或回车符直接在列中添加到Postgres中的分隔符值

来自分类Dev

vim中的回车与换行符

来自分类Dev

javascript正则表达式中回车符,换行符和多个空格的匹配

来自分类Dev

sql loader-带回车符的文件,使用cr / lf将换行符加载到oracle中

来自分类Dev

收到电子邮件后,如何将回车符转换为php中的换行符?

来自分类Dev

将换行符和回车符插入Swift字符串

来自分类Dev

将换行符和回车符插入Swift字符串

来自分类Dev

带换行符/回车符的简单HTML和CSS工具提示

来自分类Dev

使用Python编写换行符时,避免写回车符'\ r'

来自分类Dev

“ innerText”有时包含的换行符数量多于用户按下回车符

来自分类Dev

Linux终端:如何添加不包含回车符的换行符?

来自分类Dev

正则表达式可打印的ASCII加上换行符和回车符

来自分类Dev

在将回车符和换行符视为普通空间的同时从SQL中选择

来自分类Dev

如何在每个换行符前添加回车符?

Related 相关文章

  1. 1

    如何在Java中读取不以换行符或回车符结尾的行?

  2. 2

    如何在python中从yaml存储或读取文字回车符和换行符

  3. 3

    C#ReadLine转义回车符/换行符?

  4. 4

    在Dart中计算回车符或换行符

  5. 5

    保留换行符和回车符Powershell

  6. 6

    Vim:显示换行符和回车符

  7. 7

    Word:用回车符替换自动换行符

  8. 8

    用逗号、换行符和回车符分割

  9. 9

    如何用单个回车符替换多个回车符/换行符?

  10. 10

    Swift字符串中的换行符和/或回车符

  11. 11

    C#生成的Outlook电子邮件中的换行符或回车符

  12. 12

    在Visual Studio Code中查找并替换为换行符和回车符

  13. 13

    如何从列中删除回车符和换行符?

  14. 14

    在HTML中是否可以使用没有“回车符”的“换行符”?

  15. 15

    将换行符或回车符直接在列中添加到Postgres中的分隔符值

  16. 16

    将换行符或回车符直接在列中添加到Postgres中的分隔符值

  17. 17

    vim中的回车与换行符

  18. 18

    javascript正则表达式中回车符,换行符和多个空格的匹配

  19. 19

    sql loader-带回车符的文件,使用cr / lf将换行符加载到oracle中

  20. 20

    收到电子邮件后,如何将回车符转换为php中的换行符?

  21. 21

    将换行符和回车符插入Swift字符串

  22. 22

    将换行符和回车符插入Swift字符串

  23. 23

    带换行符/回车符的简单HTML和CSS工具提示

  24. 24

    使用Python编写换行符时,避免写回车符'\ r'

  25. 25

    “ innerText”有时包含的换行符数量多于用户按下回车符

  26. 26

    Linux终端:如何添加不包含回车符的换行符?

  27. 27

    正则表达式可打印的ASCII加上换行符和回车符

  28. 28

    在将回车符和换行符视为普通空间的同时从SQL中选择

  29. 29

    如何在每个换行符前添加回车符?

热门标签

归档