如何在服务器端建立Web套接字以实现聊天?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在服务器端建立Web套接字以实现聊天?相关的知识,希望对你有一定的参考价值。

如果我没有服务器详细信息,那么谁将建立或安装Web套接字连接?管理员(谁处理我们的主机)可以建立连接并提供我在android或角度代码中使用的websocket的URL?

这有必要在php中编写代码吗?

我希望服务器管理员安装和配置Web套接字并提供在聊天模块中使用。

答案

Web管理员(Ops)可以帮助创建域名,但您必须编写服务器端代码来处理websocket连接。您可以使用任何支持websocket的编程语言。例如,

使用java websocket,您只需定义ServerEndpoint并将war(Web存档)部署到任何主机或云提供商(亚马逊云,谷歌云等),

@ServerEndpoint("/chat/{clientId}")
public class MyWebsocketServer {

    @OnMessage
    public String handleMessage(@PathParam("clientId") String clientId,
                                                       String message, 
                                                       Session session) {
        System.out.println("chat message: " + clientId + "/" +message);
        return "hi how are you doing?";
    }
}

现在,使用javascript作为客户端,您建立WebSocket连接的代码将是:

var clientId = Math.random().toString(36).substring(2) + (new Date()).getTime().toString(36);
var webSocket = new WebSocket("ws://localhost:8080/my-app/chat/" + clientId);

localhost意味着我在同一主机上同时运行服务器和客户端,在你的情况下服务主机可能是www.mike-simons.com/chat,而客户端在手机上运行

示例:https://github.com/duwamish-os/chat-server_websocket-java

以上是关于如何在服务器端建立Web套接字以实现聊天?的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot - 我将如何实现 Web 套接字来制作一个简单的聊天系统?

已建立大气套接字,但没有接收/发送数据

web聊天相关知识

如何在网页端实现一个仿微信的聊天窗口

Socket 多人聊天室的实现 (含前后端源码详解)

Socket 多人聊天室的实现 (含前后端源码讲解)