java中使用pusher客戶端類庫連接服務(wù)時會出現(xiàn)連接失敗問題。
java的pusher類庫 執(zhí)行連接地址拼接地時候默認(rèn)會把端口信息拼接上去,從而導(dǎo)致server進行連接校驗的時候無法獲取到app_key,導(dǎo)致連接認(rèn)證失敗
去除這里的空格
大佬想問個問題,webman USR 有人物聯(lián)服務(wù)應(yīng)用插件,是不是一定要有一個 類似轉(zhuǎn)接器的東西來轉(zhuǎn)換轉(zhuǎn)換數(shù)據(jù)(接入 4G DTU:USR-G776、USR-G771),如果沒有這個是不是就用不了
樓主有java的pusher 對接的例子沒,方便分享一下不
我去年用java 的pusher 對接push 搞了好多天都沒對接上,(我java水平不咋地)
后來被迫自己重新建立了一個 websocket git上找了一份java 的 websocket代碼 對接使用的,至今都讓我很不爽,因為多搞了一套websocket服務(wù)
想直接用push 插件 這樣舒服些 但是對接不好
Java Pusher Client
package com.hsk99;
import java.util.Set;
import com.alibaba.fastjson.JSONObject;
import com.pusher.client.Pusher;
import com.pusher.client.PusherOptions;
import com.pusher.client.channel.ChannelEventListener;
import com.pusher.client.channel.PresenceChannelEventListener;
import com.pusher.client.channel.PrivateChannelEventListener;
import com.pusher.client.channel.PusherEvent;
import com.pusher.client.channel.User;
import com.pusher.client.connection.ConnectionEventListener;
import com.pusher.client.connection.ConnectionState;
import com.pusher.client.connection.ConnectionStateChange;
import com.pusher.client.util.HttpAuthorizer;
/**
* Pusher CLient
*
* @author HSK
* @date 2022-03-02 13:46:06
*/
public final class App {
/**
* Pusher Server Host
*
* @var string
*/
static String APP_HOST = "127.0.0.1";
/**
* Pusher Server Port
*
* @var int
*/
static int APP_PORT = 8801;
/**
* Pusher app key
*
* @var string
*/
static String APP_KEY = "8ad6857a617ec78364c04b2c353abfa8";
/**
* Pusher private authentication address
*/
static String APP_AUTH = "http://127.0.0.1:8787/app/pusher/connect/auth?access_key=" + APP_KEY
+ "&user_id=89&user_info={'name':'李四89'}";
/**
* Run
*
* @author HSK
* @date 2022-03-02 13:46:06
*
* @param args
* @throws InterruptedException
*/
public static void main(String[] args) throws InterruptedException {
PusherOptions options = new PusherOptions()
.setUseTLS(false)
.setHost(APP_HOST)
.setWsPort(APP_PORT)
.setAuthorizer(new HttpAuthorizer(APP_AUTH));
Pusher pusher = new Pusher(APP_KEY, options);
pusher.connect(new ConnectionEventListener() {
@Override
public void onConnectionStateChange(ConnectionStateChange change) {
System.out.println("State changed to " + change.getCurrentState() +
" from " + change.getPreviousState());
}
@Override
public void onError(String message, String code, Exception e) {
System.out.println("There was a problem connecting!");
}
}, ConnectionState.ALL);
// Public channels
pusher.subscribe("public", new ChannelEventListener() {
@Override
public void onSubscriptionSucceeded(String channelName) {
}
@Override
public void onEvent(PusherEvent event) {
System.out.println("Public channels");
System.out.println("raw data:" + event.getData());
JSONObject object = JSONObject.parseObject(event.getData());
System.out.println("object data:" + object);
}
}, "message");
// Private channels
pusher.subscribePrivate("private-message", new PrivateChannelEventListener() {
@Override
public void onSubscriptionSucceeded(String channelName) {
}
@Override
public void onEvent(PusherEvent event) {
System.out.println("Private channels");
System.out.println("raw data:" + event.getData());
JSONObject object = JSONObject.parseObject(event.getData());
System.out.println("object data:" + object);
}
@Override
public void onAuthenticationFailure(String message, Exception e) {
}
}, "message");
// Presence channels
pusher.subscribePresence("presence-message", new PresenceChannelEventListener() {
@Override
public void onSubscriptionSucceeded(String channelName) {
}
@Override
public void onEvent(PusherEvent event) {
System.out.println("Presence channels");
System.out.println("raw data:" + event.getData());
JSONObject object = JSONObject.parseObject(event.getData());
System.out.println("object data:" + object);
}
@Override
public void onAuthenticationFailure(String message, Exception e) {
System.out.println(message);
}
@Override
public void onUsersInformationReceived(String arg0, Set<User> arg1) {
System.out.println("Unimplemented method 'onUsersInformationReceived'");
System.out.println(arg0);
System.out.println(arg1);
}
@Override
public void userSubscribed(String arg0, User arg1) {
System.out.println("Unimplemented method 'userSubscribed'");
System.out.println(arg0);
System.out.println(arg1);
}
@Override
public void userUnsubscribed(String arg0, User arg1) {
System.out.println("Unimplemented method 'userUnsubscribed'");
System.out.println(arg0);
System.out.println(arg1);
}
}, "message");
pusher.connect();
while (true) {
Thread.sleep(1000);
}
}
}
運行示例