- 博客(598)
- 资源 (31)
- 收藏
- 关注
原创 FreeSWITCH 源码核心文件详解
以下是对 `core` 目录中一些主要文件的详细说明: #### 1. `switch_apr.c` - **作用**:提供与 APR(Apache Portable Runtime)库的接口,用于跨平台的文件操作、内存管理、线程管理等。- 管理会话的状态转换。- **主要功能**: - 定义和管理状态机的状态和事件。#### 16. `switch_rtp.c` - **作用**:管理 RTP(Real-time Transport Protocol)流的处理。- **主要功能**: - 创建和销毁流。
2024-11-27 14:47:05
491
原创 Sofia-SIP 常用函数参数解析
`To` 头字段通常包含接收方的 SIP URI,但不一定包含完整的 IP 地址和端口号。- 例如:`SIPTAG_TO_STR("sip:user@example.com")`。- 例如:`NUTAG_URL("sip:example.com")`。函数用于发起一个 REGISTER 请求,通常用于注册 SIP 客户端。函数用于发起一个 INVITE 请求,通常用于建立 SIP 会话。函数用于发送一个响应消息,通常用于响应收到的 SIP 请求。- 用于设置 SIP 消息的 `To` 头字段。
2024-11-27 10:16:15
723
原创 Sofia-SIP 使用教程
Sofia-SIP 是一个开源的 SIP 协议栈,广泛用于 VoIP 和即时通讯应用。以下是一些基本的使用教程,帮助你快速上手 Sofia-SIP。
2024-11-27 09:06:25
852
原创 Ubuntu 22.04 ftp搭建
将/etc/vsftpd.conf配置文件的pam_service_name=vsftpd改为pam_service_name=ftp,即可解决。在上面步骤5配置的目录/etc/vsftpd.chroot_list下面新建不同用户 ,注意文件名要跟ftp用户名一样。chroot_list_file=/etc/vsftpd.chroot_list(可在文件中设置多个账号)2、FTP安装完成后,会默认为我们创建用户名为ftp的用户,默认无密码。pam_service_name=ftp 修改完成,重启ftp。
2024-11-13 15:09:03
765
原创 ubuntu samba
3、如果windwos提示还是无法访问 重启windows试试。4、另外注意下面两条命令在ubuntu桌面运行。1、ufw 打开端口 这些都打开了。据说path最好不用 root。
2024-10-15 15:54:07
409
原创 ALSA ubuntu 编译
3、先编译核心库 ,编译之前先看看目录下面的INSTALL文件,使用下面的命令配置。1、下载tar包:alsa-lib、alsa-utils。然后install,注意如果不是root需要加sudo。然后 如果是arm平台。
2024-09-19 11:02:03
491
原创 FreeSWITCH event_socket 配置从其他地址连接
然后apply-inbound-acl,设置他使用的ACL规则, 默认值为 loopback.auto ,会拒绝外部客户端的连入。这样配置后就可以在192.168.18网段通过event_socket连接freeswitch了。这里如果是domains 就需要调整acl.conf.xml。1、修改event_socket.conf.xml。主要是listen-ip 改为0.0.0.0。下面一行添加对应的网段。
2024-09-18 09:39:43
567
原创 qq邮箱开启smtp
2、找到smtp设置 开启 这里需要设置授权码 但是设置授权码之前最好先设置独立密码 因为如果没有设置独立密码 也是不能发送邮件的 设置了独立密码后 以前的授权码也失效了。获取授权码的时候需要手机发送一个短信。
2024-09-10 10:56:41
486
原创 阿里云 部署免费证书
可以选择个人证书免费版等 购买之后点击 创建证书。然后就是等待证书审核 审核成功之后会收到短信提醒。选择对应的资源进行部署。选择默认 点击下一步。
2024-08-03 10:48:12
341
1
原创 BlocProvider add数据流程
这里主要是调用了_stateController的add方法,_stateController的listen是在BlocBuilder中listen的。handleEvent中调用前面_Emitter的add方法,然后调用handler处理event,handler就是我们bloc中的处理方法。在onEmit首先判断state跟上次发送的是不是一样的,通过重新state的operator ==我们可以改变他的判断条件。这里的处理方法里面调用了emit函数,具体就是_Emitter的call方法。
2023-01-03 15:39:32
886
原创 Bloc创建流程
这里会得到一个_MapStream,它的conver就是我们前面传的匿名函数,然后调用stream的listen方法。然后吧这个subscription添加到_subscriptions。这里创建了一个_eventController,Bloc又继承了BlocBase。这里的_eventTransformer对应Bloc.transformer,Bloc的大概结构我们了解了,我们看看TestBloc里面的on方法。这里创建了一个_stateController,我们看看前面TestBloc的创建流程。
2022-12-14 18:22:53
346
原创 BlocBuilder初始化流程
我们先看看_BlocBuilderBaseState的initState方法,这里如果当前bloc为空,则调用context的read方法,我们构建BlocBuilder时并没有传bloc 所以这里是空,这里就到了ReadContext的read方法。这里的_delegateState是_CreateInheritedProviderState,我们看看其获取value的方法。调用它的create方法就是我们在BlocProvider传的create方法。我们调用到provider的of方法。
2022-12-12 14:50:34
616
原创 BlocProvider初始化流程
继承了InheritedElement, InheritedElement继承到ProxyElement,ProxyElement又继承了ComponentElement,ComponentElement继承了Element,具体的暂时不看了后面有空再了解下Element Widget相关的关系。value为null 所以这里走的是false,创建了一个InheritedProvider,并把我们前面的create Bloc传了进去。这里创建了一个_InheritedProviderScope。
2022-12-12 13:29:31
524
原创 css 实现图片宽度自适屏幕,高度与宽度成固定比例
<style> * { padding: 0; margin: 0; } .zoomImage { background: url("head_bg.png") no-repeat; width: 100%; ...
2019-04-18 14:27:32
4296
原创 有关css伪元素before after
<html><head> <style type="text/css"> div:before { content: url(open_live.png); background-color: #ff0000; width: 100px; ...
2019-04-12 15:56:28
367
原创 table-cell布局
参考:https://blog.youkuaiyun.com/messagebox_/article/details/82380913html:<!DOCTYPE html><html><head> <meta charset="utf-8" /> <title>dddd</title> <li...
2019-04-09 10:36:28
619
原创 css 高度自适应铺满全屏
html:<!DOCTYPE html><html><head> <meta charset="utf-8" /> <title>dddd</title> <link rel="stylesheet" type="text/css" href="test.css" /><...
2019-04-03 16:03:29
15116
转载 Android String8.h
1、源码位置/frameworks/native/include/utils/String8.h/* * Copyright (C) 2005 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use t...
2019-03-11 13:59:02
3444
原创 集成Firebase
链接:https://firebase.google.com/docs/crashlytics/get-started?hl=zh-cn注册一个账号,登录https://console.firebase.google.com控制台,新建一个app输入名字点击创建这里我们集成android端的输入包名,另外两个可以不用填把这个配置文件拷贝到app目录下面然...
2018-11-28 11:36:25
2755
原创 Rxjava collect
Observable.just(1, 2, 3, 4) .collect(() -> new ArrayList<Integer>(), new BiConsumer<ArrayList<Integer>, Integer>() { @Override ...
2018-11-22 15:12:16
1510
原创 RxJava CombineLatest
直接上demo Observable observable1 = Observable.interval(1, TimeUnit.SECONDS); Observable observable2 = Observable.interval(2, TimeUnit.SECONDS); Observable observable3 = Observa...
2018-11-21 16:24:57
631
原创 Rxjava map和flatMap区别
map和flatMap都是依赖传入的Function对数据进行变换但是1、返回值上面:map变换后可以返回任意值,而flatMap则只能返回ObservableSource类型2、变换后的输出:map只能进行一对一的变换,而flatMap则可以进行一对一,一对多,多对多的变换,具体的变换规则根据我们设置的变换函数mapper来定demoList<String&g...
2018-11-21 14:14:09
12425
原创 Rxjava总结
1、创建类操作符返回一个具体的Observable,如just返回ObservableFromArray 它里面重写了subscribeActual2、Observable调用subscribe的时候会根据重写的回调方法Consumer,构建一个新的Observer(LambdaObserver),如果对应的方法没有,则使用默认的Consumer,如没有onError,则使用Functions....
2018-11-21 10:57:27
404
原创 设置固定高度的RecycleView出现item未填充满一行
item布局是这样 <android.support.constraint.ConstraintLayout android:id="@+id/root" android:layout_width="match_parent" android:layout_height="wrap_content" android:pad...
2018-11-08 11:33:48
595
原创 kotlin有关map和flatMap
val list= listOf(1,2,3,4,5) val list2=list.map { listOf(it+1) } list2.map { println("my value is ${it}") } println(list2) println("----------------------------") val list3 = li...
2018-10-09 16:05:24
8225
原创 支付宝网页支付提示4000
如果安装了app没问题,但如果没有app调用的时候提示4000错误,这个可能是权限问题,把下面权限都加上试试 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.INTER...
2018-07-04 16:05:39
2139
原创 Activity不显示出来,发现是theme设置的有问题
<activity android:name=".ui.game.TouZhuActivity" android:exported="true" android:theme="@android:style/Theme.NoDisplay"/>
2017-08-17 18:03:09
1073
原创 databinding 出错误
android stuido build的时候出现Warning:Using incompatible plugins for the annotation processing: android-apt. This may result in an unexpected behavior.然后好多databinding相关的代码没有生成看了下module里面用了apply plugin: 'c
2017-07-03 11:29:10
1059
原创 android/support/v4/text/TextUtilsCompat.class异常
Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'.> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: android/support/v4/text
2017-04-15 16:36:40
1911
原创 有关出现异常时调试
前面项目中用Rxjava出现一个Exception但不知道哪里产生的直接到Subscribe的onError了,这个时候,我们用Android Studio调试时,设置在出现异常时断点
2017-02-08 14:42:19
633
1
原创 有关win10在文件夹上点击右键的时候 自动关闭
这里有解决方法:http://tieba.baidu.com/p/4124016103我也被這問題困擾好幾個月,剛剛一鼓作氣打算解決它,搜尋時看到你跟我有同樣的問題。很幸運地,後來我找到解決方法了,希望你也能順利解決。困擾你我的問題大概是第三方軟體導致,你得先到http://www.nirsoft.net/utils/shexview.html下載一個程式 (進入網頁後按 Ctrl+F 搜尋 Do
2017-02-07 16:37:20
13231
原创 android so库 堆栈错误查看
前面修改mars的数据发送,重新编译后 启动app发现堆栈错误可以使用如下命令找到出错的地方adb logcat | ndk-stack -sym F:\code\android\mars\mars\mars\libraries\mars_android_sdk\obj\local\x86注意这里我用的是x86的库在模拟器上跑的,另外就是obj目录libs目录没有调试信息下面的是输出,可以查到出
2017-01-25 11:45:09
3585
3
原创 有关魅族手机遇到TextView显示异常
TextView大概布局如下 <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="2" android:ellipsize="end"
2017-01-24 21:51:53
2004
原创 mars C层消息发送流程
只是简单的消息发送的流程,不涉及其他东西发送:Java_com_tencent_mars_stn_StnLogic_startTask-->StartTask-->NetCore::StartTask-->LongLinkTaskManager::StartTaskLongLinkTaskManager::__RunOnStartTask()-->LongLink::Send-->LongLink
2017-01-20 10:44:16
1568
原创 有关RXjava retryWhen
Observable.just(10000000).flatMap(new Func1>() { @Override public Observable call(Integer integer) { System.out.println("flatMap1 <<<<<<map integer = " + intege
2017-01-17 11:54:55
1205
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人