当前位置: 首页 > 知识库问答 >
问题:

Java套接字服务器与JavaScript客户端

常朗
2023-03-14

我组装了一个Java套接字服务器和客户端,可以互相发送消息,我想使用JavaScript作为客户端,但是。。。下面是在托管Java服务器并加载JavaScript客户端时发生的情况。

JavaScript:

    var connection = new WebSocket('ws://127.0.0.1:9005');
connection.onopen = function () {
  connection.send('Ping');
};

这将在chrome控制台中打印:

到“ws://127.0.0.1:9005/”的WebSocket连接失败:WebSocket握手期间出错:无效状态行
WebSocket错误[对象事件]

我试图做的是将“Ping”发送到Java服务器,但它发送所有这些内容,而不是断开连接。。。

这将在Java服务器控制台中打印:

面包服务器正在运行
新连接来自:127.0.0.1:51948
127.0.1:51948:GET/HTTP/1.1
127.0.1:51948:Host:127.0.1:9005
127.0.0.1:51948:Connection:Upgrade
127.0.1:51948:Pragma:no-cache
127.0.0.1:51948:cache-Control:no-cache
127.0.0.1:51948:Upgrade:websocket
http://markstuff.net
127.0.0.1:51948:Sec WebSocket版本:13
127.0.1:51948:用户代理:Mozilla/5.0(Windows NT 6.1;WOW64)
AppleWebKit/537.36(KHTML,类似Gecko)Chrome/48.0.2564.103 Safari/537.36
127.0.0.1:51948:接受编码:gzip、deflate、sdch
127.0.0.1:51948:接受语言:en-US、en;q=0.8
127.0.0.1:51948:Sec WebSocket键:D4Epyc7LwvPdfeDWG0sY2g==
127.0.0.1:51948:Sec WebSocket扩展:permessage deflate;客户端\u最大\u窗口\u位
127.0.0.1:51948:
错误:软件导致连接中止:recv失败

JavaScript客户端:markstuff.net/socket/-markstuff.net/socket/client.js
Java服务器:pastebin com cdZjUWQp
Java客户端:pastebin com efEeezcR

共有1个答案

毋澄邈
2023-03-14

听起来您正试图将Websocket客户端连接到服务器端的裸套接字侦听器。请注意,Websocket不等于套接字。Websocket是tcp连接之上的协议(就像http是如何在tcp之上)。
因此,您应该将服务器实现更改为Websocket(您可以在internet上找到许多java Websocket库)或者将您的客户端更改为套接字。
我不确定如何在JS中创建套接字连接,但本主题可能有助于解决此问题:使用javascript从浏览器连接到TCP套接字

 类似资料:
  • 我有这个代码可以在eclipse中与android Studio中的客户端通信服务器,我使用套接字,客户端向服务器发送消息,服务器读取该消息并确定一切正常,但当服务器向客户端发送消息时,客户端不强制任何东西;这是代码 还有这个 此代码是服务器代码的一部分,如果您需要客户端代码(Android Studio),请告诉我。 我需要帮助拜托

  • 我试图用java实现一个客户端服务器,在这里我读取客户端中的输入并在服务器中执行UperCase,然后返回客户端并打印UperCase。我使用ObjectOutputStream和ObjectInputStream进行读写,但是当我在客户机中键入一个msg时,程序会显示以下错误: Digite uma msg casa java.io.eofexception位于java.io.datainput

  • 问题内容: 我试图用没有gui的服务器连接带有gui的客户端。连接已完成,但我看不到这两个应用程序之间的任何消息。(我应该在客户端中找到SERVER HERE,在服务器中找到CLIENT HERE) 客户端连接代码: (输入和输出在此客户端类扩展到的GUI类中定义。定义为“受保护的BufferedReader输入;受保护的PrintWriter输出;”) 另外,服务器代码: 连接似乎还可以,所以我

  • 我正在尝试连接一个带有gui的客户端和一个没有gui的服务器。连接正在进行中,但我看不到这两个应用程序之间的任何消息。(我应该将服务器放在客户端中,而将客户端放在服务器中) 客户端连接代码: PS:我也在服务器中尝试了PrintWriter,也尝试了try catch in stream语句,问题仍然存在。

  • 如何使用套接字将Swift客户端连接到Java服务器?如何在客户端和服务器之间发送不同的数据类型?

  • 我正在开发一个非常简单的Java客户机/服务器系统(只是为了让我的脚沾满套接字)。由于某种原因,我一直收到“套接字已关闭”错误。。。这是我的密码。。 服务器文件 客户端文件 我在客户端的第41行得到了错误,然后在第46行得到了NullPointerException。。 提前感谢您的帮助。我只是想在这里学习。