android(SignalA)接收.net(SignalR)推送过来的消息

来源:互联网 发布:深入浅出 python 中文 编辑:程序博客网 时间:2024/04/30 15:55

从网络上搜索到的Demo,自己进行了稍微的改动

Signala类库从https://github.com/erizet/SignalA获得,不过相关引用有错误,需要手动修正。

下载相关源码

package com.zsoft.SignalADemo;import android.app.Activity;import org.json.JSONArray;import com.zsoft.signala.hubs.*;import com.zsoft.signala.hubs.HubConnection;import com.zsoft.signala.transport.StateBase;import com.zsoft.signala.transport.longpolling.*;import android.content.OperationApplicationException;import android.os.Bundle;import android.util.Log;import android.widget.EditText;/** * Created by King on 2016/8/3. */public class chatHubActivity extends Activity {    private final static String TAG = "KING";    private final static String HUB_URL = "http://192.168.1.110:8022/signalr/hubs";    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.chat_hub);        beginConnect();    }    /**     * hub链接     */    private HubConnection conn = new HubConnection(HUB_URL, this, new LongPollingTransport()) {        @Override        public void OnError(Exception exception) {            Log.d(TAG, "OnError=" + exception.getMessage());        }        @Override        public void OnMessage(String message) {            Log.d(TAG, "message=" + message);        }        @Override        public void OnStateChanged(StateBase oldState, StateBase newState) {            Log.d(TAG, "OnStateChanged=" + oldState.getState() + " -> " + newState.getState());        }    };    /*     * hub代理 panderman 2013-10-25     */    private IHubProxy hub = null;    /**     * 开启推送服务 panderman 2013-10-25     */    private void beginConnect() {        try {            //服务器端的HUB为ChatHub            hub = conn.CreateHubProxy("ChatHub");        } catch (OperationApplicationException e) {            e.printStackTrace();        }        hub.On("addNewMessageToPage", new HubOnDataCallback() {            @Override            public void OnReceived(JSONArray args) {                EditText chatText = (EditText) findViewById(R.id.chat_text);                //chatText.setText(args.toString());                for (int i = 0; i < args.length(); i++) {                    chatText.append(args.opt(i).toString());                }            }        });        conn.Start();    }}
从网页上输入相关信息,android打印日志输出,如下


0 0
原创粉丝点击