当前位置: 首页 > 面试题库 >

通过telnet发送数据而无需按Enter

姬浩渺
2023-03-14
问题内容

我最近开始弄乱Java套接字和telnet …

我希望用户能够连接到服务器,只需键入一个字母并将其发送到服务器,而无需按Enter即可发送。我确定服务器没有办法设置它,但是telnet可能有一个参数或可以允许的参数吗?

也许如果我让用户输入文字stty cbreakstty raw在运行telnet之前,这行得通吗?(仅知道UNIX!)

如果我可以通过telnet来执行此操作,那么就不必为此专门编写一个特殊的客户端…


问题答案:

您应该能够通过telnet选项协商来做到这一点。 该协议默认为半双工模式,并且至少对于交互式会话,服务器应协商“
抑制前进”选项
和“
回声”选项。

最起码,您可以 ff fb 01 ff fb 03在会话开始时吐出(会回声,会抑制前进),然后 ff fd 01ff fb 01(会回声)回复任何 ff fd 03(做回声)并回复任何(做回声,前面) ff fb 03(将抑制前进)。

编辑 以补充本杰克逊提到的线路模式协商是一个更好的答案。对于大多数非23端口连接的客户端,抑制超前运行是不够的。

但是,我认为您遇到的另一个问题是Java正在发送Unicode字符。例如,当你说(char)0xff,爪哇假设你指的是UTF-16字符U+00ffÿ。它可能是使用UTF-8编码通过套接字发送的,所以telnet客户端看到两个字节:c3 bf它继续传递并显示为ÿ

您可以做的是明确告诉Java使用ISO-8859-1编码。例如,您之前可能已经做过这样的事情:

out = new PrintStream(connection.getOutputStream());
out.print((char)0xff);  // sends 0xc3 0xbf
out.print((char)0xfb);  // sends 0xc3 0xbb
out.print((char)0x01);  // sends 0x01
out.flush();

相反,您可以使用OutputStreamWriter指定所需的编码:

out = new OutputStreamWriter(connection.getOutputStream(), "ISO-8859-1");
out.write((char)0xff);  // sends 0xff
out.write((char)0xfb);  // sends 0xfb
out.write((char)0x01);  // sends 0x01
out.flush();


 类似资料:
  • 问题内容: 我有一个内置的javascript,它可以执行以下操作:通过ajax-> php-> sql获取内容,并在单击内容后在index.php上显示它,将显示新内容。 现在,我想拥有一个在将内容单击到php之后发送数据的函数,该函数将在db中执行某些操作。如何创建将发送数据的功能?谢谢! 这是我的显示内容的代码: }); }` 问题答案: 您可以通过在jQuery.ajax 设置中包含值,将

  • 所以我试图通过ajax将图像作为一个blob发送。blob的类型正确,大小约为4.5 kb。我试着这样发送: 接收页面看起来像这样: 它告诉我找不到索引“图像”。所以不仅数据没有发送,甚至索引也被省略了。我做错了什么? 编辑: toBlob和toDataURL都不会产生任何东西,只是一个空的PNG。有没有办法将数据从帧缓冲区转换成Base64编码的jpg或png?

  • 我正在使用一个外部api,在这里我得到了与该api相关的以下详细信息 我计划做的是: 我将通过codeigniter表单从用户收集数据,然后将数据转发到上述api,并从api获得响应,因此,如果成功,则将执行进一步的操作,否则需要显示错误消息 然而,出于测试目的,我使用了一个静态数组,并试图将其发送到api。 实际上发生的是,我得到了一个空白的结果,所以不确定它是否有效。 下面是我的代码 PS:我

  • 我正在开发一个查看器应用程序,其中服务器捕获图像,执行一些图像处理操作,这需要在客户端显示在HTML5画布上。我写的服务器是在VC和使用http://www.codeproject.com/Articles/371188/A-Cplusplus-Websocket-server-for-realtime-interact. 到目前为止,我已经实现了所需的功能。现在我需要做的就是优化。引用是一个用来

  • 问题内容: 我正在使用jQuery将div的HTML内容发布到PHP文件。HTML内容包含表,输入,较小的div,我想获取主DIV的内容并将其发送到数据库。我能想到的唯一选择是POST方法,但我不知道是否可以发送纯HTML。从div发送HTML内容到要插入MySQL的PHP​​文件还有其他选择吗? 谢谢。 编辑: 我现在能够使用jQuery的POST发送完整的HTML数据。但是,来自该DIV的HT

  • 在我的应用程序中,如果多个用户使用相同的WiFi连接而不使用TCP,我希望通过WiFi将文件发送给多个用户。如何获取连接到指定wify的用户列表。我试过样品,但什么也没得到。