国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

如何與其他平臺實(shí)現(xiàn)數(shù)據(jù)對接

dorke

我們目前在使用workerman做一些物聯(lián)網(wǎng)的數(shù)據(jù)平臺,在使用過程中,需要和其他平臺進(jìn)行數(shù)據(jù)的對接,遇到兩個問題:
1、目前很多的平臺采用api接口的方式,需要我們?nèi)ハ螺d數(shù)據(jù)過來,大部分可以通過http的方式下載,用了http-client感覺不錯,可以滿足,感覺少一個定時的設(shè)置
2、有些是提供了ws或者其他tcp的接口,因此有沒有計劃推出一些其他類型的client的計劃? 最好是可以同時創(chuàng)建多個這樣的連接,防止一個有問題,其他的可以替補(bǔ)。

11983 6 2
6個回答

dorke

找到解決方案了,http://doc3.workerman.net/315174? 結(jié)貼

  • 暫無評論
walkor 打賞

1、workerman支持定時器,可以定時做一些你需要的操作,具體參考workerman手冊
2、workerman有提供AsyncTcpConnection類,可以讓workerman作為客戶端發(fā)起異步ws或者tcp連接,具體參考workerman手冊

  • dorke 2018-12-14

    已經(jīng)開始做了,但是遇到一個問題,我用指定本地Ip和端口的方式,異步的方式訪問了服務(wù)器(調(diào)試模式),然后我關(guān)閉了程序,這個端口一直被占用,再次打開就有問題,怎么處理?

  • walkor 2018-12-14

    截圖代碼和報錯吧

dorke

?


?代碼如圖:
?
?錯誤如圖:
?對方用的sockjs 做的ws服務(wù)
?
網(wǎng)頁訪問的例子是這樣訪問的:

$(document).ready( function() {
?? ?var sock = new SockJS('http://192.168.30.5:8080/rtls/sockjs');
?? ?var client = Stomp.over(sock);
?? ?client.debug = null;
?? ?client.connect({}, function(frame) {
?? ??? ?console.log("Stomp.sock.connect");
?? ??? ?client.subscribe("/queue/position", function(message) {
?? ??? ??? ?console.log(message.body);
?? ??? ?});
?? ?});
?? ? sock.onclose = function(event) {
?? ??? ?console.log("Stomp.sock.closed");
?? ?};
});
  • 暫無評論
walkor 打賞

報錯的時候netstat -nt | grep 8088
應(yīng)該是端口沒被釋放,被time_wait占用了

  • dorke 2018-12-14

    是的,現(xiàn)在釋放了,但是似乎 得不到數(shù)據(jù)!

  • walkor 2018-12-14

    在瀏覽器里試下吧,估計這個地址連不上

  • walkor 2018-12-14

    ws = new WebSocket('ws://123.31.217.23:8088'); 瀏覽器里測試,地址能連上才行

  • dorke 2018-12-14

    例子里他們用的是 SockJS 連接的,我理解不是標(biāo)準(zhǔn)的ws協(xié)議?

  • dorke 2018-12-14

    我嘗試了一個瀏覽器可以連接的ws服務(wù)器,但是用異步tcp 可以連接上,但是沒有收到數(shù)據(jù)過來!

  • walkor 2018-12-14

    瀏覽器里測試這個地址ws://123.31.217.23:8088是連不上的,超時。另外即使連上,服務(wù)端得發(fā)來數(shù)據(jù)才能收到數(shù)據(jù)

  • dorke 2018-12-17

    $(document).ready( function() {
    var sock = new SockJS('http://123.31.217.23:8080/rtls/sockjs');
    var client = Stomp.over(sock);
    client.debug = null;
    client.connect({}, function(frame) {
    console.log("Stomp.sock.connect");
    client.subscribe("/queue/position", function(message) {
    console.log(message.body);
    });
    });
    sock.onclose = function(event) {
    console.log("Stomp.sock.closed");
    };
    }); 用頁面,這段代碼 可以獲得到數(shù)據(jù),我理解的意思是,還需要stomp的接口?您也幫我看一下

  • dorke 2018-12-17

    之前端口寫錯了

  • walkor 2018-12-17

    不清楚這里的stomp是什么,另外這個SockJS連接的地址不一定是原生ws,不一定能連上

  • dorke 2018-12-17

    查了 很多資料 ,發(fā)現(xiàn)應(yīng)該是
    stomp over websocket,也就是 基于websocket做 的一個stomp的協(xié)議 。https://blog.csdn.net/a617137379/article/details/78765025#stomp-over-websocket%E5%8D%8F%E8%AE%AE%E5%8E%9F%E7%90%86%E4%B8%8E%E5%AE%9E%E7%8E%B0 好復(fù)雜

布魯

很受啟發(fā),?Mark一下

  • 暫無評論
dpdzq

要是別的平臺調(diào)用你得接口送數(shù)據(jù)過來,這個數(shù)據(jù)怎么傳到workerman里面呢?

  • 暫無評論
年代過于久遠(yuǎn),無法發(fā)表回答
??