nextrtc-videochat-with-rest
发表于|更新于
|浏览量:
个人利益永远包括在公共利益之中,要想和公共利益分离,等于自取灭亡。——孟德斯鸠
介绍一个java的webrtc实现,虽然项目很老了,但也具备一定的参考价值
https://github.com/mslosarz/nextrtc-videochat-with-rest
这里用到的技术包括spring security, spring rest, spring jpa等

相关推荐
2020-12-31
使用Stream一行获取26个英文字母
成功是从一个失败前进到另一个失败,而期间热情不减的能力。——丘吉尔 代码 1234List<String> A = Stream.iterate("A", e -> String.valueOf((char) (e.charAt(0) + 1))).limit(26).collect(Collectors.toList());System.out.println(A);String a = Stream.iterate("a", e -> String.valueOf((char) (e.charAt(0) + 1))).limit(26).collect(Collectors.joining(","));System.out.println(a); 执行结果
2022-10-14
MP字段更新策略
看不见河底就不要涉水而过——佚名 之前写过mybatis-plus部分更新 今天分享一个注解式配置的 添加@TableField(updateStrategy = FieldStrategy.IGNORED) 即可在更新时,忽略判空,强制更新 例如: 123456789101112131415161718192021package com.ruben.simpleboot.pojo.po;import com.baomidou.mybatisplus.annotation.*;import com.ruben.simpleboot.pojo.common.BaseRecycleEntity;import lombok.Data;import lombok.EqualsAndHashCode;import java.time.LocalDateTime;/** * UserInfo * * @author VampireAchao * @since 2022/5/21 */@Datapublic class UserInfo{ private Long id; ...
2020-11-08
建造者模式
外观往往和事物的本身完全不符,世人都容易为表面的装饰所欺骗。——《威尼斯商人》 这两天开发中用到了建造者模式,写起来感觉挺爽的 以前我们创建一个javabean 12345678910111213141516171819202122232425262728293031/** * 自定义pojo */public static class Teacher { private String name; private Integer age; @Override public String toString() { return "Teacher{" + "name='" + name + '\'' + ", age=" + age + '}'; } public Strin...
2020-09-12
使用反射获取对象属性的坑
要么庸俗,要么孤独——叔本华 前两天遇到一个坑,当时我通过使用getDeclaredFields()函数获取对象属性时发现一个问题: 获取到的属性的顺序不对,结果我自己一看介绍 原来,它是无序的 所以我们为了解决这个问题 首先自定义一个注解用于制定排序规则 1234567891011121314151617181920212223242526package com.ruben.annotation;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;/** * @ClassName: BeanFieldSort * @Description: * @Date: 2020/9/11 22:18 * * * @author: achao<achao1441470436 @ gmail.com> * @vers...
2021-11-19
TransmittableThreadLocal
我们一直寻找的,却是自己原本已经拥有的;我们总是东张西望,唯独漏了自己想要的,这就是我们至今难以如愿以偿的原因——柏拉图 分享一个TransmittableThreadLocal作为InheritableThreadLocal的拓展 出自阿里,github地址: 1https://github.com/alibaba/transmittable-thread-local 部分描述: JDK的InheritableThreadLocal类可以完成父线程到子线程的值传递。但对于使用线程池等会池化复用线程的执行组件的情况,线程由线程池创建好,并且线程是池化起来反复使用的;这时父子线程关系的ThreadLocal值传递已经没有意义,应用需要的实际上是把 任务提交给线程池时的ThreadLocal值传递到 任务执行时。 本库提供的TransmittableThreadLocal类继承并加强InheritableThreadLocal类,解决上述的问题,使用详见User Guide。 整个TransmittableThreadLocal库的核心功能(用户API与框架/中间件...
2023-12-10
可变参数传入数组
通常是不想成名的人反而成名。——霍姆斯 今天遇到这样一个场景: 1234 @Overridepublic void deleteAllById(@Nonnull Iterable<? extends String> strings) { stringRedisTemplate.opsForHash().delete(SmCacheConst.STATE_MACHINE, );} 这里的org.springframework.data.redis.core.HashOperations#delete如下: 1 Long delete(H key, Object... hashKeys); 那这里我如果直接将Iterable转为数组,能正常运转吗? 也就是说,如果我是: 12Object[] array = StreamSupport.stream(strings.spliterator(), false).toArray(); stringRedisTemplate.opsForHash().delete(SmCac...

阿超
我的名字叫阿超 年龄25岁 家在北京市 职业是软件开发 每天最晚也会在八点前回家 不抽烟 酒浅尝辄止 晚上十二点上床 保证睡足八个小时 睡前写一篇博客 再做二十分钟俯卧撑暖身 然后再睡觉 基本能熟睡到天亮 像婴儿一样不留下任何疲劳和压力 就这样迎来第二天的早晨 健康检查结果也显示我很正常 我想说明我是一个不论何时都追求内心平稳的人 不拘泥于胜负 不纠结于烦恼 不树立使我夜不能寐的敌人 这就是我在这社会的生活态度
Follow Me公告
This is my Blog