应无所住,而生其心
排名
1
文章
846
粉丝
110
评论
162
net core webapi post传递参数
庸人 : 确实坑哈,我也是下班好了好几次,发现后台传递对象是可以的,但...
百度编辑器自定义模板
庸人 : 我建议换个编辑器,因为现在百度富文本已经停止维护了,用tinymec...
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术

java|android 使用SocketIO.jar连接nodejs websocket

7048人阅读 2019/8/13 11:21 总访问:4889957 评论:0 收藏:0 手机
分类: Java


socket.io-client版连接nodejs websocket

http://www.tnblog.net/aojiancc2/article/details/2562


一:更具url建立连接,调用想要的方法

  1. SocketIO socket;
  2. try {
  3. socket = new SocketIO("url");
  4. socket.connect(new IOCallback() {
  5. public void onMessage(JSONObject json, IOAcknowledge ack) {
  6. try
  7. {
  8. System.out.println("there Server said:" + json.toString(2));
  9. catch (JSONException e) {
  10. e.printStackTrace();
  11. }
  12. }
  13. public void onMessage(String data, IOAcknowledge ack) {
  14. try
  15. {
  16.   System.out.println(" 22 Server said: " + data);
  17. }
  18. catch(Exception e)
  19. {
  20. System.out.println("xxxxxxxxx:"+e.getMessage());
  21. }
  22. }
  23. public void onError(SocketIOException socketIOException) {
  24. System.out.println("an Error occured:"+socketIOException.getMessage());
  25. socketIOException.printStackTrace();
  26. }
  27. public void onDisconnect() {
  28. System.out.println("Connection terminated.");
  29. }
  30.  
  31. public void onConnect() {
  32. System.out.println("Connection established");
  33. }
  34.  
  35. public void on(String event, IOAcknowledge ack, Object... args) {
  36. System.out.println("Server triggered event '" + event + "'");
  37. for(int i=0;i<args.length;i++){
  38. System.out.println("参数 '"+i+":" +args[i] );
  39. }
  40. }
  41. });

onMessage是默认的方法,只要连接成功服务端就可以通过message向你发送数据
客户端onMessage会自动回调


但是服务器端会有很多自定义方法,怎么让服务器端知道我们想要调用的方法,就需要用到emit,向服务器端传递方法名与参数.

  1. socket.emit("wayname","params");

传递json参数:

  1. JSONObject json = new JSONObject();
  2. json.putOpt("aa""106");
  3. json.putOpt("bb""29");
  4. socket.emit("wayname",json);

这时服务器一般会用其他方法进行回调而不是onMessage,一般在on方法里:

  1. public void on(String event, IOAcknowledge ack, Object... args) {
  2. System.out.println("服务器回调了:方法名 '" + event + "'");
  3. for(int i=0;i<args.length;i++){
  4. System.out.println("参数 '"+i+":" +args[i] );
  5. }
  6. }

二:设置header,传cookies等:
socket.addHeader("Cookie", "laravel_session=" + LoginActivity.PHPSESSID);






欢迎加群讨论技术,群:677373950(满了,可以加,但通过不了),2群:656732739

评价

javaandroid 使用socket.io-client连接nodejs websocket

socket.io-client相比SocketIO.jar使用起来更方便一点publicvoidconnection(finalMapAction_action){ try{ IO.Optionsopt...

NET Core 使用 EF Code First

下面这些内容很老了看这篇:https://www.tnblog.net/aojiancc2/article/details/5365 项目使用多层,把数据库访问...

使用OLEDB读取不同版本Excel的连接字符串设置

使用OleBD读取excel的时候,excel不同的版本,连接字符串的写法也会不一样。///&lt;summary&gt; ///读取excel ///&lt;/su...

C 使用CancellationTokenSource取消多线程

有时间我们在使用多线程的时候,需要取消线程的执行,可以使用CancellationTokenSource来取消对Task开辟多线程的取消如下:...

使用爬虫刷csdn博客访问量

首先了解一下常见反爬虫的检测方法频率监测:有些网站会设置一种频率监测的机制,对于同一IP,若在一定时间内访问的速度超...

Idea下使用maven搭建SSM(一):SpringMVC

Spring MVC是一款基于MVC架构模式的轻量级Web框架,其目的是将Web开发模块化,对整体架构进行解耦,简化Web开发流程。下面...

Idea下使用maven搭建SSM(二):MyBatis

开发Web应用,数据的存储和处理往往离不开数据库和SQL语句。在使用Java开发的Web应用中,自然也少不了连接数据库的步骤。在...

使用 微软自带语音合成类库

//引入语音合成名称空间 usingSystem.Speech.Synthesis; classA { voidtest1() { //实例化并指定字符串播放合成读音 ...

如何使用图标像使用文字一样,使用文本图标的方法

1.首先在Iconfont-阿里巴巴矢量图标库上面找到你需要的图标然后加入你的购物车然后选择图标;注意:每个类型的图标会大小不...

使用七牛云的cdn服务,提高图片的加载速度

CDN介绍CDN的全称是Content Delivery Network,即内容分发网络。CDN加速主要是加速静态资源,如网站上面上传的图片、媒体,...

.net core 使用session

tip:net core 2.2后可以直接启用session了,不用在自己添加一次session依赖,本身就添加了使用nuget添加引用Microsoft.AspN...

使用OutLook发送邮件

publicstaticvoidOutlook(stringSubject,stringTextBody,stringFromAdd,stringFromPass,stringTo,stringCC,List&lt;string&...

SQL Server 中使用游标

--声明一个游标 DECLAREMyCursorCURSOR FORSELECTTOP5FBookName,FBookCodingFROMTBookInfo//定义一个叫MyCursor的游标,...

Windows使用wireshark抓包小心得

wireshrak是个网络抓包工具,常用。但是在数据较大的网络环境中直接使用软件抓包会导致wireshark卡死。为什么呢 ?网卡瞬间...

Oracle自定义函数的简单使用

一.最最最简单的返回一个数字的函数createorreplacefunctionfun_show returnint--申明返回值 as begin return1; end;...