package org.rtc.servlet;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import javax.servlet.ServletException;
import javax.servlet.ServletInputStream;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.json.JSONObject;
import org.rtc.room.WebRTCRoomManager;
import org.rtc.websocket.WebRTCMessageInboundPool;
@WebServlet(urlPatterns = {"/message"})
public class WebRTCMessageServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
super.doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String r = request.getParameter("r");//房间号
String u = request.getParameter("u");//通话人
BufferedReader br = request.getReader();
String line = null;
StringBuilder sb = new StringBuilder();
while((line = br.readLine())!=null){
sb.append(line); //获取输入流,主要是视频定位的信息
}
String message = sb.toString();
JSONObject json = JSONObject.fromObject(message);
if (json != null) {
String type = json.getString("type");
if ("bye".equals(type)) {//客户端退出视频聊天
System.out.println("user :" + u + " exit..");
WebRTCRoomManager.removeUser(r, u);
}
}
String otherUser = WebRTCRoomManager.getOtherUser(r, u);//获取通话的对象
if (u.equals(otherUser)) {
message = message.replace("\"offer\"", "\"answer\"");
message = message.replace("a=crypto:0 AES_CM_128_HMAC_SHA1_32",
"a=xrypto:0 AES_CM_128_HMAC_SHA1_32");
message = message.replace("a=ice-options:google-ice\\r\\n", "");
}
//向对方发送连接数据
WebRTCMessageInboundPool.sendMessage(otherUser, message);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
RTCApp.zip (51个子文件)
RTCApp
.settings
com.genuitec.eclipse.migration.prefs 247B
com.genuitec.eclipse.j2eedt.core.prefs 1009B
org.eclipse.wst.jsdt.ui.superType.name 6B
org.eclipse.wst.common.project.facet.core.xml 361B
org.eclipse.wst.common.component 544B
org.eclipse.wst.jsdt.ui.superType.container 49B
.jsdtscope 500B
org.eclipse.jdt.core.prefs 364B
src
META-INF
MANIFEST.MF 25B
org
rtc
room
WebRTCSimpleRoom.java 1KB
WebRTCRoomManager.java 1KB
servlet
WebRTCRoomServlet.java 2KB
WebRTCWebSocketServlet.java 967B
WebRTCMessageServlet.java 2KB
websocket
WebRTCMessageInbound.java 1KB
WebRTCMessageInboundPool.java 1KB
.project 2KB
WebRoot
redirect.jsp 90B
apprtc.py 7KB
images
webrtc_black_20p.png 2KB
META-INF
MANIFEST.MF 36B
full.html 1KB
WEB-INF
web.xml 374B
classes
META-INF
MANIFEST.MF 25B
org
rtc
room
WebRTCSimpleRoom.class 2KB
WebRTCRoomManager.class 2KB
servlet
WebRTCWebSocketServlet.class 1KB
WebRTCRoomServlet.class 3KB
WebRTCMessageServlet.class 3KB
websocket
WebRTCMessageInboundPool.class 2KB
WebRTCMessageInbound.class 1KB
lib
slf4j-api-1.5.6.jar 22KB
catalina.jar 1.48MB
commons-beanutils-1.7.0.jar 184KB
tomcat-coyote.jar 776KB
commons-logging-1.1.1.jar 59KB
ezmorph-1.0.4.jar 84KB
slf4j-log4j12-1.5.6.jar 9KB
commons-logging-api-1.1.jar 44KB
commons-collections-3.2.jar 558KB
log4j-1.2.15.jar 383KB
des-0.1.jar 21KB
commons-lang-2.3.jar 240KB
json-lib-2.2.2-jdk15.jar 141KB
app.yaml 354B
js
face.js 236KB
ccv.js 16KB
html
help.html 239B
index.jsp 15KB
.mymetadata 291B
.classpath 1KB
.myeclipse
共 51 条
- 1
资源评论
山塘小鱼儿
- 粉丝: 290
- 资源: 82
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功