ESP32与Java之间的WebSocket

我想在ESP32上使用websocket与java websocket服务器通信。我正在使用ESP32文档中的代码示例: https://github.com/espressif/esp-idf/tree/a45e99853/examples/protocols/websocket

我调整的是ssid名称和密码以及websocket端点地址。我的Java代码如下:

package com.webapp.ws;

import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.websocket.OnError;
import javax.websocket.Onmessage;
import javax.websocket.OnOpen;
import javax.websocket.Session;
import javax.websocket.server.ServerEndpoint;

@ServerEndpoint("/hello")
public class HelloEndpoint {
    private Session session;

    @OnOpen
    public void onCreateSession(Session session){
        System.out.println("Connected " + session.toString());
        this.session = session;
    }

    @Onmessage
    public void OnTextMessage(String message){
        System.out.println("message=" + message);
        if(this.session != null && this.session.isOpen()){
            try {
                System.out.println("received: " + message);
                this.session.getBasicRemote().sendText("From server: " + message);
            } catch (IOException ex) {
                Logger.getLogger(HelloEndpoint.class.getName()).log(Level.SEVERE,null,ex);
            }
        }
    }

    @OnError
    public void onError(Session session,Throwable thr) {
        Logger.getLogger(HelloEndpoint.class.getName()).log(Level.SEVERE,thr.toString());

    }
}

不幸的是,我无法获得esp和java(托管在tomee上)之间的通信。来自ESP的日志如下:

I (8088) tcpip_adapter: sta ip: 192.168.1.100,mask: 255.255.255.0,gw: 192.168.1.1
I (8588) example_connect: Connected to Lubinska123
I (8588) example_connect: IPv4 address: 192.168.1.100
I (8588) example_connect: IPv6 address: fe80:0000:0000:0000:3e71:bfff:fef9:6db0
I (8598) WEBSOCKET: Connectiong to ws://192.168.1.104:8080/MvnWebAppSock/hello...
I (8678) WEBSOCKET: WEBSOCKET_EVENT_CONNECTED
I (9608) WEBSOCKET: Sending hello 0000
I (10608) WEBSOCKET: Sending hello 0001
I (11608) WEBSOCKET: Sending hello 0002
I (12608) WEBSOCKET: Sending hello 0003
I (13608) WEBSOCKET: Sending hello 0004
I (14608) WEBSOCKET: Sending hello 0005
I (15608) WEBSOCKET: Sending hello 0006
I (16618) WEBSOCKET: Sending hello 0007
I (17618) WEBSOCKET: Sending hello 0008
I (18618) WEBSOCKET: Sending hello 0009
I (18898) WEBSOCKET: WEBSOCKET_EVENT_DATA
I (18898) WEBSOCKET: Received opcode=10
W (18898) WEBSOCKET: Received=

I (19908) WEBSOCKET: Websocket Stopped

在tomcat日志上,我只能看到已创建新连接,仅此而已。这意味着不会随时调用Onmessage注释。

有人可以帮助我解决这个问题吗?

xtwfgddm 回答:ESP32与Java之间的WebSocket

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3165140.html

大家都在问