Javascript javasocket和jswebsocket

Javascript javasocket和jswebsocket,javascript,java,sockets,networking,websocket,Javascript,Java,Sockets,Networking,Websocket,所以我试图在我的Java应用程序和我的Web应用程序之间建立某种连接,我查找了WebSocket,它们看起来非常简单且易于使用:)。我自己创建了一个Java服务器,它使用ServerSocket类 现在的问题是我可以通过websocket从web连接到服务器,但我无法向服务器发送数据。。。但是当我尝试从Java客户端发送数据时,它工作得很好。。。有什么问题吗 我的Java/Scala(我遵循本教程:)服务器: 我的web js(我遵循): web套接字服务器与简单的套接字服务器不同。提供web套

所以我试图在我的Java应用程序和我的Web应用程序之间建立某种连接,我查找了WebSocket,它们看起来非常简单且易于使用:)。我自己创建了一个Java服务器,它使用ServerSocket类

现在的问题是我可以通过websocket从web连接到服务器,但我无法向服务器发送数据。。。但是当我尝试从Java客户端发送数据时,它工作得很好。。。有什么问题吗

我的Java/Scala(我遵循本教程:)服务器:

我的web js(我遵循):


web套接字服务器与简单的套接字服务器不同。提供web套接字的服务器必须首先提供HTTP或HTTPS服务,因为web套接字是在web客户端发送带有升级选项和用于建立web套接字的特殊字段的HTTP请求时建立的。即使在web套接字建立之后,连接的行为仍然与常规套接字不同。Web套接字协议使用帧发送或接收数据。这与你所期望的完全不同


您应该注意的另一件事是,浏览器将强制执行以下规则:web套接字必须来自与尝试建立web套接字的页面相同的主机(相同的协议、地址和TCP端口)。

web套接字服务器与简单套接字服务器不同。提供web套接字的服务器必须首先提供HTTP或HTTPS服务,因为web套接字是在web客户端发送带有升级选项和用于建立web套接字的特殊字段的HTTP请求时建立的。即使在web套接字建立之后,连接的行为仍然与常规套接字不同。Web套接字协议使用帧发送或接收数据。这与你所期望的完全不同


您应该注意的另一件事是,浏览器将强制执行一条规则,即web套接字必须来自与尝试建立web套接字的页面相同的主机(相同的协议、地址和TCP端口)。

好的,谢谢:)所以我最好的办法是找到一个java库,以便与js websockets进行通信?是吗?您需要更进一步,找到一个支持web套接字的web服务器环境/库。好的,谢谢:)那么我最好的办法是找到一个java库,用于与js websockets通信?对吗?您需要更进一步,找到一个支持web套接字的web服务器环境/库。
class Server(val port: Int) extends Thread {

  private val serverSocket = new ServerSocket(port)

  override def run(): Unit = {
    try {
      while(true) {
        println("Waiting for client on port: " + serverSocket.getLocalPort)
        val server = serverSocket.accept()

        println(server.getRemoteSocketAddress)
        val in = new DataInputStream(server.getInputStream())
        println(in.readUTF())
        val out = new DataOutputStream(server.getOutputStream())
        out.writeUTF("Hello world!")
        server.close()
      }
    } catch {
      case s: SocketTimeoutException => println("Connection timed out!");
      case e: Exception => e.printStackTrace()
    }
  }
}
/**
 * Created by samuelkodytek on 20/12/2016.
 */
var conn = new WebSocket('ws://127.0.0.1:8080');

conn.onopen = function(e) {
    console.log("Connection established!");
    conn.send("Hello!");
};

conn.onmessage = function(e) {
    console.log(e.data);
};