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);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
webrtc实现网页版视频(一对一)
共50个文件
jar:13个
class:7个
java:7个
2星 需积分: 13 60 下载量 28 浏览量
2017-07-06
09:54:10
上传
评论
收藏 3.71MB RAR 举报
温馨提示
1.tomcat版本:apache-tomcat-7.0.32 2.如果你想实现WebSocket必须得用Tomcat7及以上版本,并且引入:catalina.jar,tomcat-coyote.jar两个JAR包, 部署到Tomcat7之后得要去webapps/应用下面去删除这两个AR包否则无法启动 3.var mediaConstraints = { 'has_audio' : true, 'has_video' : true };这个变量在浏览器里报错,替换成下面的写法 var mediaConstraints = { "mandatory": { "OfferToReceiveAudio": true, "OfferToReceiveVideo": true } }; 4.把stream.videoTracks和stream.audioTracks都换成get*****Tracks(),注意首字母大写。 5.pc.createAnswer(setLocalAndSendMessage, null, mediaConstraints); pc.createOffer(setLocalAndSendMessage, null, mediaConstraints); 以上两行中的null替换成存在的回调函数,新建回调函数 function setRemoteAndSendMessage(sessionDescription){ pc.setRemoteDescription(sessionDescription); }
资源推荐
资源详情
资源评论
收起资源包目录
本地暂时成功连接的webrtc视频功能.rar (50个子文件)
本地暂时成功连接的webrtc视频功能
RTCApp
notepad 932B
.settings
org.eclipse.wst.jsdt.ui.superType.name 6B
org.eclipse.wst.common.project.facet.core.xml 252B
org.eclipse.core.resources.prefs 127B
org.eclipse.wst.common.component 456B
org.eclipse.wst.jsdt.ui.superType.container 49B
.jsdtscope 500B
org.eclipse.jdt.core.prefs 364B
src
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
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 2KB
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
channel.js 67KB
face.js 236KB
ccv.js 16KB
html
help.html 239B
index.jsp 16KB
.mymetadata 291B
.classpath 594B
.myeclipse
共 50 条
- 1
资源评论
- weipt2020-08-28没配成功,谁成功了说说
- lys079620002019-03-15先看看,再说!!!!
我一直都在你身边
- 粉丝: 11
- 资源: 19
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C语言-leetcode题解之61-rotate-list.c
- C语言-leetcode题解之59-spiral-matrix-ii.c
- C语言-leetcode题解之58-length-of-last-word.c
- 计算机编程课程设计基础教程
- (源码)基于C语言的系统服务框架.zip
- (源码)基于Spring MVC和MyBatis的选课管理系统.zip
- (源码)基于ArcEngine的GIS数据处理系统.zip
- (源码)基于JavaFX和MySQL的医院挂号管理系统.zip
- (源码)基于IdentityServer4和Finbuckle.MultiTenant的多租户身份认证系统.zip
- (源码)基于Spring Boot和Vue3+ElementPlus的后台管理系统.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功