我试图用Laravl作为服务器端和Android作为客户端来实现pusher-js,我的代码如下所示。
HashMap<String,String> hashMap = new HashMap<>();
hashMap.put("Authorization","Bearer "+mToken);
hashMap.put("Content-Type", "application/x-www-form-urlencoded");
hashMap.put("Accept", "application/json");
hashMap.put("Client-id","anyid");
HttpAuthorizer authorizer = new HttpAuthorizer("https://bleepcare.com/laravel-websockets/auth");
authorizer.setHeaders(hashMap);
PusherOptions options = new PusherOptions();
options.setAuthorizer(authorizer);
options.setEncrypted(true);
options.setCluster("mt1");
options.setWsPort(6001);
options.setWssPort(6001);
options.setUseTLS(true);
options.setHost("bleepcare.com");
options.buildUrl("anykey");
Pusher pusher = new Pusher("anykey",options);
pusher.connect(new ConnectionEventListener() {
@Override
public void onConnectionStateChange(ConnectionStateChange change) {
Log.i(TAG,"Connection State: "+change.getCurrentState());
if (change.getCurrentState().name().equals("CONNECTED")) {
}
}
@Override
public void onError(String message, String code, Exception e) {
Log.i(TAG,"Connection Error: "+e.getMessage());
}
});
channel = pusher.subscribePrivate("private-AppointmentChat.12.3", new PrivateChannelEventListener() {
@Override
public void onAuthenticationFailure(String message, Exception e) {
Log.i(TAG,"Auth Error: "+String.format("Authentication failure due to [%s], exception was [%s]", message, e));
}
@Override
public void onSubscriptionSucceeded(String channelName) {
Log.i(TAG,"Success : "+channelName);
}
@Override
public void onEvent(PusherEvent event) {
Log.i(TAG,"Event : "+event);
}
},"AppointmentMessage");我成功地与套接字建立了连接,但是获得了[com.pusher.client.AuthorizationFailureException: java.io.FileNotFoundException:我的auth链接是:https://bleepcare.com/laravel-websockets/auth
发布于 2020-06-20 09:33:31
我已经成功地允许所有类型的hashmap.put(“接受”)和订阅到私有信道的套接字来解决这个问题。
https://stackoverflow.com/questions/62444650
复制相似问题