java socket调用接口_java调用websocket接口
项目中需要调用第三方语音电话接口,代码如下:
1.pom.xml引入websocket依赖
org.java-websocket
Java-WebSocket
1.3.8
2.YiWeiDialUtil.java
package com.yudu.sms.util;
import com.alibaba.fastjson.JSONObject;
import org.java_websocket.WebSocket;
import org.java_websocket.client.WebSocketClient;
import org.java_websocket.handshake.ServerHandshake;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.net.URI;
import java.net.URISyntaxException;
public class YiWeiDialUtil {
private static final Logger logger = LoggerFactory.getLogger(YiWeiDialUtil.class);
public static void dial(String ws, String phone, String recordName) {
try {
URI uri = new URI(ws);
WebSocketClient client = new WebSocketClient(uri) {
@Override
public void onOpen(ServerHandshake serverHandshake) { }
@Override
public void onMessage(String s) {
logger.info("返回的数据:" + s);
JSONObject jo = JSONObject.parseObject(s);
String dynamicdata = jo.getString("dynamicdata");
if (dynamicdata != null) {
JSONObject jo_dynamicdata = JSONObject.parseObject(dynamicdata);
String realtimestate = jo_dynamicdata.getString("realtimestate");
if (realtimestate.equals("outconnected")) {
send("{\"command\":\"closeheadsettochannel\"}");
String recordMp3 = System.getProperty("user.dir") + "\\src\\main\\resources\\" + recordName + ".mp3";
String record = "{\"command\":\"PlayStartRecord\",\"arguments\":{\"content\":\"" + recordMp3 + "\"}}";
send(record);
}
}
}
@Override
public void onClose(int i, String s, boolean b) { }
@Override
public void onError(Exception e) {
logger.error(e.getMessage());
}
};
//建立连接
client.connect();
while (!client.getReadyState().equals(WebSocket.READYSTATE.OPEN)) {
logger.info("连接中...");
}
String dial = "{\"command\":\"Dial\",\"arguments\":{\"phone\":\"" + phone + "\"}}";
client.send(dial);
} catch (URISyntaxException e) {
logger.info(e.getMessage());
}
}
}
···
java socket调用接口_java调用websocket接口相关推荐
- java短信接口_java调用短信接口代码
原标题:java调用短信接口代码 短信接口被广泛应用在网站.app应用以及软件系统中,如用户注册.密码找回.会员服务.系统消息通知等应用场景,那么如何调用短信接口呢?下面以java开发语言为例,为大家 ...
- java调用restful接口_Java调用RESTful接口的几种方式
前端一般通过Ajax来调用,后端调用的方式还是挺多的,比如HttpURLConnection,HttpClient,Spring的RestTemplate 服务端代码如下: 服务端接口请求的URL:h ...
- java调c的接口_Java调用C接口的简单示例
Java调用C接口的简单示例 正好需要用到Java调用dll里的C接口,想到自己做个简单的例子.我们可能需要自己生成dll文件,下边介绍一下,详细的步骤.主要参考https://blog.csdn.n ...
- php接口和java接口_java和php接口的区别是什么
java和php接口的区别是:1.php接口中的抽象方法只能是public的,默认也是public权限:2.java中私有方法使用private修饰,供接口中的默认方法或者静态方法调用. [相关学习推 ...
- java 内部类声明 抽象类_Java 抽象类、接口、内部类
抽象类 当编写一个类时,常常会为该类定义一些方法,这些方法用以描述该类的行为方式,那么这些方法都有具体的方法体.但在某些情况下,某个父类只是知道其子类应该包含怎样的方法,但无法准确地知道这些子类如何实 ...
- java list 接口_Java 集合 List接口
[TOC] List接口 概述有序的 collection(也称为序列).此接口的用户可以对列表中每个元素的插入位置进行精确地控制.用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的 ...
- java 子类必须实现_Java学习之接口的子类必须实现接口的全部方法吗?
接口的子类必须实现接口的全部方法吗? 接口的子类必须实现接口中全部的方法吗?答案:不是.原因如下: 如果子类是非抽象类,则必须实现接口中的所有方法: 如果子类是抽象类,则可以不实现接口中的所有方法,因 ...
- java抽象类实现接口_Java——抽象类实现接口
在Java中,使用抽象类来实现接口,并不是毫无作用.相反,有时间有很大的作用. 当你只想实现接口中的个别方法(不是所有方法)时,你可以先写一个抽象类来实现该接口,并实现除了你想要的方法之外的所有方法( ...
- java抽象类和接口_Java抽象类和接口类
Java中接口和抽象类的区别是什么?什么时候用接口?什么时候用抽象类?抽象类和接口存在的意义是什么?能解决哪些编程问题? 1)类关键字修饰符: 抽象类使用abstract修饰,含有抽象方法(使用abs ...
- java 类 抽象类 接口_Java抽象类和接口
抽象类和接口 一.抽象类和抽象方法 对于抽象类,首先需要介绍抽象方法,而抽象类因抽象方法的存在而存在 1.抽象方法 (1)必要性: 有些父类方法不确定如何写方法体,但是对于继承它的子类又必须用到这个方 ...
最新文章
- 微软某程序员吐槽:如果毕业去字节,现在总包150万!如今一年才50万,看见字节的人都抬不起头!...
- python 特性和方法同名_Python语言特性的梳理
- PART 5: INTEGRATING SPRING SECURITY WITH SPRING BOOT WEB
- shell脚本练习(12.8)
- 免费12个月!阿里云助力中小企业0成本上云
- oracle 审计数据大,oracle审计AUD$过大导致的数据库登录异常
- perl的几个小tips
- 第七章:Servlet
- python算p值_Python sklearn-如何计算p值
- 【BZOJ 3993】【SDOI 2015】星际战争
- ſ xf(sinx)dx 中的f(sinx)到底是什么
- 转载:Docker入门只需看这一篇就够了
- 苏世民,我的经验和教训(一)
- ifstat网络流量监控之/proc/net/dev文件
- Android Fragment异常:java.lang.IllegalStateException: Fragment XXXFragment not attached to Activity
- 当深圳变成一座数字花园
- 信用卡识别(1)-预处理
- ES入门学习:ElasticSearch、Kibana、ik分词器的安装、简单使用及SpringBoot集成
- 隐藏内容_网络推广_seo中级视频教程详解
- 五一特别专辑:我今年三十二岁了......
热门文章
- Google强化学习框架SEED RL环境部署
- CentOS7 搭建Pulsar 消息队列环境,CentOS(Linux)部署Pulsar,亲测成功,以及Python操作Pulsar实例驱动
- linux清除cpu,解决kswapd0 CPU占用率高的问题-清除病毒
- dw如何写php代码提示,DW CS5 jquery代码提示插件
- Win7旗舰版电脑开机慢的解决方法
- warnings (imported as 'THREE') was not found in 'three'
- SpringBoot查看和修改依赖的版本
- springboot配置多项目下统一切换不同环境变量profile办法
- 关于Typora编辑器编写markdown文档时插入出现前字吞后字的解决方法
- Service Mesh(服务网格)