
UNIX网络编程
等风来不如迎风去
AI领域初学者,AI+实时语音,AI+2/3D动画生成;AI+UE表演,AI+游戏NPC;音视频行业深耕多年,熟悉会议、直播、RTC,对在线教育、娱乐秀场等音视频端到端技术及系统架构有深入研究
展开
-
[zz] POP3 使用客户端远程管理在服务器上的电子邮件
链接:https://www.nowcoder.com/questionTerminal/26625c7d394441438621b77619c18f1e来源:牛客网POP3,全名为“Post Office Protocol - Version 3”,即“邮局协议版本3”。 是 TCP/IP 协议族中的一员 ,由RFC1939 定义。本协议主要用于支持使用客户端远程管理在服务器上的电子邮件。提供了SSL加密的POP3协议被称为POP3S。POP 协议支持“离线”邮件处理。其具体过程是:邮件发送到...原创 2021-03-14 22:56:28 · 1058 阅读 · 0 评论 -
【zz】TCP BBR
TCP BBRTCP BBRTCP BBR 已经在 Youtube 服务器和 Google 跨数据中心的内部广域网(B4)上部署。论文:http://queue.acm.org/detail.cfm?id=3022184Linux内核:4.9+ commitBBR组成即时速率的计算:该带宽是bbr一切计算的基准,bw=应答数据/应答这些数据所用时间(只关注数据的大小,不关注数据的含义) imageRTT跟踪:系统会跟踪当前为止最小RTTbbr pipe状态机:STARTUP,DRAIN,原创 2020-08-12 22:33:29 · 532 阅读 · 0 评论 -
libevent2
## Create the libraries.#include(AddEventLibrary)add_event_library(event_core SOURCES ${SRC_CORE})add_event_library(event_extra LIBRARIES event_core_shared SOURCES ${SRC_EXTRA})if (NOT EVENT__DISABLE_OPENSSL) add_event_library(even...原创 2020-05-29 00:43:50 · 825 阅读 · 0 评论 -
[zz]etcd 服务注册与发现
etcd 服务注册与发现zzPosted on 2017-05-04 | 0 Commentsetcd 是一个分布式一致性的 key-value 存储技术, 被用来做配置共享和服务发现。有着以下优点:简单: 使用 gRPC 实现了 面向用户的API(v3), v2版本提供 CURL 可访问的 API( HTTP+JSON )安全: 自动使用 TLS 并可选客户端验证快速: 10,...转载 2020-03-23 17:24:06 · 582 阅读 · 0 评论 -
SRT 传输设置
参考在各种复杂的网络环境下都能顺利地传输视频,就必须要学会如何去优化SRT传输设置,这是让SRT工作在最佳状态的关键。转载 自 https://blog.youkuaiyun.com/weixin_42228920/article/details/90946259Round Trip Time(RTT,往返延时)RTT(往返延时)表示从发送端发送数据开始,到发送端收到来自接收端的确认(接...原创 2020-02-19 13:49:13 · 2180 阅读 · 1 评论 -
iperf 网络链路参数
iperf 网络链路参数看 srt 的 大神文档,看到大神使用的网络链路探测工具是iperfmac下了mac 上的 这里服务器端间隔 传输 带宽(Mbits/秒)jitter(15微秒)丢包率 ✘ zhangbin@pb6a80114 ~/tet/webrtc_build ./iperf3 -s -i 1 -p 12345 -----------------...原创 2020-02-18 00:07:56 · 1543 阅读 · 0 评论 -
mars 未完待续
MARScomm: common library, including socket, thread, message queue, coroutine, etc.Xlog: a reliable log component with high-performance.SDT: a network detection component.STN: a signaling network ...原创 2019-12-24 15:00:15 · 378 阅读 · 0 评论 -
【学习笔记】网络编程基础API
linux网络编程基础API与内核内TC/IP协议族关系。1. socket地址APIip地址及端口对,代表TCP通信中的一方,称为socket地址。socket就像pipe一样,代表的是一个文件描述符。可以用socket()来创建。参考 http://man7.org/linux/man-pages/man2/socket.2.html #include原创 2013-11-20 13:41:43 · 1138 阅读 · 0 评论 -
【进程间通信】pipe2
http://man7.org/linux/man-pages/man2/pipe.2.html pipe, pipe2 - create pipe #include int pipe(int pipefd[2]); #define _GNU_SOURCE /* See feature_t翻译 2013-11-27 11:18:34 · 4812 阅读 · 0 评论 -
【VLC】创建管道
src/posix的filesystem.c中/** * Creates a pipe (see "man pipe" for further reference). */int vlc_pipe (int fds[2]){#ifdef HAVE_PIPE2 if (pipe2 (fds, O_CLOEXEC) == 0) return 0; if (原创 2013-11-27 10:56:29 · 1575 阅读 · 0 评论 -
【牛x】 find ./* | xargs grep "Invalid configuration"
zhangbin@bogon:~/bcm/unimedia/depvlc/liba52/a52dec-0.7.4$ zhangbin@bogon:~/bcm/unimedia/depvlc/liba52/a52dec-0.7.4$ zhangbin@bogon:~/bcm/unimedia/depvlc/liba52/a52dec-0.7.4$ find ./* | xargs grep原创 2013-11-16 20:11:14 · 1436 阅读 · 0 评论 -
multicast unicast broadcast
http://blog.youkuaiyun.com/bloghome/article/details/4682984一、multicast概述: 多媒体应用集成了声音、图形、动画、文本以及视频,这种应用在现在的网络环境中也越来越多。多媒体流量在网络中主要有三种传播方式:1、unicast (单播)2、broadcast (广播)3、multicast (多播)转载 2013-12-30 20:27:14 · 1184 阅读 · 0 评论 -
The C10K problem
http://www.kegel.com/c10k.html[Help save the best Linux news source on the web -- subscribe to Linux Weekly News!]It's time for web servers to handle ten thousand clientssimultaneously, don't yo翻译 2014-01-21 11:02:03 · 1546 阅读 · 0 评论 -
学之者生,用之者死——ACE历史与简评
转载一篇大牛的文章 http://blog.youkuaiyun.com/Solstice/article/details/5364096学之者生,用之者死——ACE历史与简评分类: c++ 2010-03-10 11:06 37964人阅读 评论(210)收藏 举报网络编程linux平台设计模式freebsd目录(?)[+]学之者生,用转载 2014-01-29 20:39:40 · 3188 阅读 · 0 评论 -
【git】error: src refspec master does not match any.
创建远程的git工程,并push 代码进去的过程如下:参考 http://my.oschina.net/psuyun/blog/123005a git服务器使用如下命令新建一个项目view sourceprint?1$ cd /opt/git2$ mkdir pr原创 2014-02-25 20:56:49 · 7210 阅读 · 0 评论 -
【git】gitweb 404 错误
变动了下git仓库目录的权限。所以导致了如下错误:原创 2014-04-16 10:34:04 · 2125 阅读 · 0 评论 -
【git】创建一个新的本地仓库并上传代码(整理)
之前写过一篇 http://blog.youkuaiyun.com/commshare/article/details/20526369感觉还是不清晰,所以今天又试验了好几次,总结如下:(1)远程仓库原创 2014-04-16 16:56:55 · 1128 阅读 · 0 评论 -
Socket/Epoll主要流程对socket错误码正确处理
Socket/Epoll主要流程对socket错误码正确处理 【https://blog.youkuaiyun.com/whycold/article/details/48179659】 注:转载一个同事的工作笔记。以下是对相关流程和socket错误码正确处理的小结。一. Socket/Epoll主要遇到的问题: (1) 非阻塞socket下,接收流程(recv/recvfrom)对错误(EIN...转载 2018-07-27 15:46:32 · 1331 阅读 · 0 评论 -
c延迟1分钟
sleep(1000),就是1000毫秒,是1分钟.原创 2011-03-01 11:45:00 · 1754 阅读 · 0 评论 -
sys/socket.h
http://fxr.watson.org/fxr/source/sys/socket.h 1 /*- 2 * Copyright (c) 1982, 1985, 1986, 1988, 1993, 1994 3 * The Regents of the University of California. All rights rese翻译 2013-11-20 13:49:21 · 9080 阅读 · 0 评论 -
安装ivim
https://github.com/kepbod/ivim参考=================InstallationManual InstallA Vim/MacVim/gVim with version higher than 7.3 has been installed on your computer, and back原创 2013-11-01 15:17:50 · 4510 阅读 · 0 评论 -
sed使用变量,替换掉第一行。
需求(1)想替换掉某个文件的第一行。(2)替换为一个路径(3)被替换的这行,也是很多/构成的路径。因此很多错误:zhangbin@Ubuntu64:~/codeStore/testReplaceOneLine$ source replacePrefix.shprefix=/home/zhangbin/codeStore/testReplaceOneLine/原创 2013-04-11 17:22:57 · 7516 阅读 · 0 评论 -
cc1: warnings being treated as errors
cc1: warnings being treated as errorsAM_CFLAGS = -Wall -g $(MATCHBOX_PANEL_CFLAGS) \ -I$(top_srcdir) -I$(top_builddir) -Werror 把上面的 -Werror去掉,不把warnning当作error处理http://hi.ba原创 2013-01-09 19:26:13 · 2375 阅读 · 0 评论 -
`uint32_t' undeclared here (not in a function)
//399 E:\codeReocrdi\test_fourcc_lookfor_class_dspt.c `uint32_t' undeclared here (not in a function) 在linux系统上,加入#include就好了。原创 2012-09-13 11:39:46 · 5696 阅读 · 1 评论 -
error: macro names must be identifiers
root@ubuntu:/home/zhangbin/qt/qtSDL/misc/unpv12e/lib# makegcc -g -O2 -D_REENTRANT -Wall -c -o connect_nonb.o connect_nonb.cIn file included from connect_nonb.c:1:unp.h:113:8: error: macro name原创 2011-10-31 22:40:38 · 14564 阅读 · 0 评论 -
#include time.h和 #include sys/time.h
time_t 这样的结构,是linux的,所以,如果只是调用time.h,那么,就没有了time_t这样的结构,所以在仅仅使用 c的time.h的时候,需要自己实现定义time_t结构:下面好像不是定义time_t,而是 判断是否需要time_t 这个结构的宏定义。#define __need_time_t#define __need_timespec原创 2011-03-01 11:18:00 · 14831 阅读 · 2 评论 -
【zz】Makefile:12: missing separator. Stop.
Makefile每个命令的第一个字符必须是制表符[tab]原创 2011-02-01 21:19:00 · 2669 阅读 · 0 评论 -
1-5 从标准输入读入命令并执行
1-5 从标准输入读入命令并执行原创 2010-07-20 12:23:00 · 1245 阅读 · 0 评论 -
1-6例示strerror和perror
1-6例示strerror和perror转载 2010-07-20 15:47:00 · 941 阅读 · 0 评论 -
被这些shell变量搞的很失败啊
#!/bin/shHELLO="HELLO"WORLD="WORLD"NAME="ZHANGBIN"echo "HELLO IS $HELLO"SUN=$WORLD#"${WORLD}""${NAME}"echo "SUN IS $SUN"SUN+=$NAMEecho "SUN2 IS $SUN"unset SUNSUN=$(echo "原创 2013-04-12 20:31:36 · 968 阅读 · 0 评论 -
shell脚本里的\r字符。
在windows上用notepadd++编辑一个shell脚本,死活出错,回到linux下,编辑,还是有这个\r,搜索了下,是这样的:http://bluemood.blog.51cto.com/1142811/1030925‘由于在shell处理了windows里的字符文件,导致本该输出成两行的字符串变成了一行,而第一行行首的一些字符被第二行覆盖了原创 2013-04-13 20:25:25 · 43346 阅读 · 3 评论 -
sed命令
(1)i\ 在当前行上面插入文本。(2)a\ 在当前行后面加入一行文本。 实际放到了每一行的下面去了。而且不写入文件。(3)下面的表示要先匹配,然后再在匹配到的行的下一行插入。/要匹配的内容/i要插入的内容(4)打印当前行的行号先匹配,然后用=可以打印匹配到的这行的号码,原创 2013-04-16 14:03:27 · 918 阅读 · 0 评论 -
Thread-Local Storage: TLS
Thread-Local Storagehttp://gcc.gnu.org/onlinedocs/gcc-3.3.1/gcc/Thread-Local.htmlThread-local storage (TLS) is a mechanism by which variables are allocated such that there is one instance of the翻译 2013-09-22 09:08:58 · 1323 阅读 · 0 评论 -
主机名/地址串 服务名/端口号
zhangbin@Ubuntu32:~$ sudo su[sudo] password for zhangbin: root@Ubuntu32:/home/zhangbin# man getaddrinforoot@Ubuntu32:/home/zhangbin# man getaddrinfo >man_getaddrinfo.txtroot@Ubuntu32:/home/zha原创 2013-09-14 17:22:08 · 5712 阅读 · 0 评论 -
第八章
并发的面相丽娜姐服务器的算法以连接作为通信的基本模式并发服务器使用面向连接协议的步骤:算法8.4主1: 创建套接字并将其绑定到所提供服务的熟知地址上。让该套接字保持非连接的。主2: 将该端口设置为被动模式,使其准备为服务器所用主3: 反复调用accept,以便接收来自客户的下一个连接请求,并创建新的从线程或者进程来处理响应。从1: 由主线程传递来原创 2013-09-30 09:23:37 · 681 阅读 · 0 评论 -
几个有用的宏
分类: C/C++http://blog.chinaunix.net/uid-20196318-id-183290.html1. 打印错误信息如果程序的执行必须要求某个宏被定义,在检查到宏没有被定义是可以使用#error,#warning打印错误(警告)信息,如:#ifndef __unix__#error "This section will only转载 2013-09-14 18:49:42 · 828 阅读 · 0 评论 -
warning: ISO C forbids an empty translation unit [-pedantic]
root@Ubuntu32:/home/zhangbin/codeStore/testCODE/testMeServerRTSP/mework/meserver/meserver# makegcc -pedantic -Wall -Wextra -march=native -ggdb3 -o testmeserver config.hconfig.h:12:原创 2013-09-13 14:46:21 · 4398 阅读 · 0 评论 -
ubuntu12.04 编译安装libev
这种小巧的c库很适合学习makefile什么的。很适合学习如何给c工程搞个自动编译脚本啥的。root@Ubuntu32:/home/zhangbin/codeStore/testCODE/testMeServerRTSP# cd libevroot@Ubuntu32:/home/zhangbin/codeStore/testCODE/testMeServerRTSP/lib原创 2013-09-10 15:56:29 · 4728 阅读 · 0 评论 -
我的ubuntu12.04下的 /usr/include 头文件
root@Ubuntu32:/home/zhangbin# tar jcvf usr_include.tar /usr/include -C /home/zhangbin/codeStore/ahplayer/android2_VLC4AndroidMeCompile_Scripts.full.tar.gzandroidVLC/EclipseWork/git_vlc/GSt原创 2013-09-11 11:03:38 · 5524 阅读 · 0 评论 -
第一次自己生成静态库
只有一个别人的静态库,要实现静态库的功能,就是不知道人家内部是咋个实现的。nm只能看到人家的几个封装好的函数,人家到底是自己实现的呢,还是调用第三方库呢?如果是调用了第三方库,那么就应该可以看到第三方库中的函数。因为第三方库提供的是头文件,作为外部符号出现。现在看不到符号,如果确实用了第三方库,那么就是把自己的代码放在了第三方库的源码中,封装了第三方库出来,原创 2013-06-05 20:20:57 · 3163 阅读 · 0 评论