![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux应用开发
一念之间、
自古闲人多愁绪,唯有读书稳人心!
展开
-
通过一个tcp连接获取客户端ip和端口
在多路实况下出现某几路视频卡顿时,最好的办法是分析流数据,但抓包时同时可能抓了多路视频流,一般会先分析日志,确定哪几路流存在问题,然后通过日志里的客户端ip和端口号去找到要分析的那路流,一般情况流媒体服务器的端口是554,地址也知道,比较好寻找,而客户端的地址信息就需要通过getsockname去获取,具体代码如下:struct sockaddr stAddr = {0};struct sockaddr_in stAddrIn = {0};long lNameLen = sizeof(struct s原创 2021-02-17 15:13:51 · 4295 阅读 · 0 评论 -
Linux应用开发--原子操作
对于操作一个文件,我们想在文件末尾追加一些内容,如果是单个进程的话那么能没有任何问题的完成任务,但如果多个进程都想给文件追加内容的话那就容易出问题了,出现什么问题呢?就是最后的操作结果根本就不是你能接受的了的。假定两个进程A和B都对同一个文件进行追加内容操作。两个进程都已经打开了该文件,但未使用O_APPEND标志。因此每个进程都有它自己的文件表项,他们有各自的文件状态标志和当前文件偏移,但是原创 2017-11-14 16:44:57 · 1531 阅读 · 0 评论 -
Linux应用开发--静态函数库和动态函数库
什么叫库?就是一些函数经过一定的操作生成的可执行的二进制文件,能够被外部调用使用封装的函数。Linux应用程序所使用的主要函数库均存放于/lib和/usr/lib目录下,其中以*.so方式命名的是动态函数库,以*.a命令的是静态函数库,linux下进行链接时默认使用动态函数库,如果想要使用静态函数库时使用-static编译选项即可,比如:gcc -static hello.c -o hello原创 2017-11-14 19:32:56 · 801 阅读 · 0 评论