gpt4 book ai didi

javascript - 带有 JavaScript 客户端的 Java 套接字服务器

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:41:56 29 4
gpt4 key购买 nike

我将一个可以相互发送消息的 Java 套接字服务器和客户端放在一起,我想使用 JavaScript 作为客户端,但是......这是我托管 Java 服务器并加载 JavaScript 客户端时发生的情况.

JavaScript:

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

这在 chrome 控制台中打印:

WebSocket connection to 'ws://127.0.0.1:9005/' failed: Error during WebSocket handshake: Invalid status line
WebSocket Error [object Event]

我想做的是向 Java 服务器发送“Ping”,但它发送所有这些东西而不是断开连接...

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

Bread Server running...
New Connection From: 127.0.0.1:51948
127.0.0.1:51948: GET / HTTP/1.1
127.0.0.1:51948: Host: 127.0.0.1:9005
127.0.0.1:51948: Connection: Upgrade
127.0.0.1:51948: Pragma: no-cache
127.0.0.1:51948: Cache-Control: no-cache
127.0.0.1:51948: Upgrade: websocket
127.0.0.1:51948: Origin: http://markstuff.net
127.0.0.1:51948: Sec-WebSocket-Version: 13
127.0.0.1:51948: User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.103 Safari/537.36
127.0.0.1:51948: Accept-Encoding: gzip, deflate, sdch
127.0.0.1:51948: Accept-Language: en-US,en;q=0.8
127.0.0.1:51948: Sec-WebSocket-Key: D4Epyc7LwvPdfeDWG0sY2g==
127.0.0.1:51948: Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits
127.0.0.1:51948:
ERROR: Software caused connection abort: recv failed

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

最佳答案

听起来您正在尝试将 Websocket 客户端连接到服务器端的裸套接字监听器。请注意 Websocket 不等于套接字。 Websocket 是一种建立在 tcp 连接之上的协议(protocol)(就像 http 是建立在 tcp 之上的)。
所以您应该将服务器实现更改为 Websocket(您可以在互联网上找到许多 java Websocket 库)或将客户端更改为套接字。
我不确定如何在 JS 中创建套接字连接,但此主题可能有助于解决此问题:Connecting to TCP Socket from browser using javascript

关于javascript - 带有 JavaScript 客户端的 Java 套接字服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35258824/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com