VLC for Linux 无法播放FLV视频

本篇文章记录Linux Mint 17.2下 VLC 播放器无法播放FLV格式视频的解决办法!最近重新安装了Linux Mint,在更新系统时发现有两个包无法被更新,估计是依赖问题,运行命令的输出如下:sudo apt-get upgrade然后我尝试搜索了这两个包,想看看更新的版本是什么;又执行...

2015-09-19 18:00:30

阅读数 1891

评论数 0

Sublime Text 3 中文输入 快速解决方案

Sublime Text 3 安装完成后,默认情况下fcitx是不能输入中文的,这里记录一个快速修复方法:具体操作看这个开源项目:https://github.com/lyfeyaj/sublime-text-imfix

2015-09-17 18:50:14

阅读数 1226

评论数 0

【网络】(十二)UDP简介

1、UDP特点 无连接;UDP不维护端到端的连接状态 基于消息的数据传输服务;不存在粘包问题,可认为数据包之间是有边界的 不可靠;数据包可能丢失、重复、乱序,它缺乏流量控制 一般情况下UDP更加高效; 2、UDP编程模型3、echo服务器和客户端的UDP实现服务端代码#include <st...

2015-09-16 11:38:17

阅读数 423

评论数 0

【网络】(十一)更高效的epoll

第十篇文章中将select函数换做了poll,解决了客户端最大并发数量限制的问题,

2015-09-15 19:58:00

阅读数 662

评论数 0

【网络】(十)select的限制与解决方法poll

在前面的《第七篇》和《第八篇》文章中已经使用select函数对服务器和客户端进行了重写,但这有个问题存在,如果有非常多的客户端需要连接到服务器,那很可能连接到1020个客户端时,服务端就会报错了,原因在于用select实现的并发服务器能够达到的并发数,受两方面限制 一个进程能打开的最大文件描述符限...

2015-09-15 16:07:39

阅读数 657

评论数 0

【网络】(九)close与shutdown

1、两者的区别 close函数会终止数据传送的两个方向,包括套接口的读取和写入; shutdown函数可以有选择的终止某个方向的数据传送,或者终止两个方向; shutdown函数的how参数如果为SHUT_RDWR,表示关闭了套接口的写端,可以保证此时对方会收到一个FIN段,并导致对方read函数...

2015-09-14 16:40:40

阅读数 412

评论数 0

【网络】(八)I/O复用--Select(二)

第七篇文章中简介了几种IO模型,也使用select函数改进客户端的代码,本篇文章用它来改进一下服务端代码!用select函数实现的服务器程序,叫做并发服务器,它还是在排队处理任务,无法并行处理这些事件!1、select事件发生条件0.1 可读事件 套接口缓冲区有数据可读; 连接的读一半关闭,即接收...

2015-09-14 11:01:31

阅读数 539

评论数 0

【网络】(七)五种I/O模型--I/O复用 Select(一)

1、五种I/O模型五种I/O模型分别是: 阻塞I/O 非阻塞I/O I/O复用(select/poll) 信号驱动I/O 异步I/O 0.1 阻塞I/O连接完成,我们通常使用recv函数读取数据,如果此时没有数据,那么该函数阻塞,直到对方发送的数据到达套接口缓冲区,此时该函数将数据复制到用户缓冲区...

2015-09-13 20:33:54

阅读数 691

评论数 0

【网络】(六)TCP的十一种状态

1、TCP 十种状态过程描述: 0.1 服务器B和客户端A中的套接字都处于CLOSE状态(图中未标出) 0.2 服务器B调用socket/bind/listen函数创建了一个套接字后,处于LISTEN状态,该套接字属于被动套接字,被动套接字不能用来发起连接,只能接受连接 0.3 客户端A调用soc...

2015-09-13 17:32:12

阅读数 2992

评论数 0

【网络】(五)避免僵尸进程

前面的四篇文章中,对于僵尸进程都只做了简单的处理,我忽略了子进程退出时发送给父进程的SIGCHLD信号,本篇文章来详细谈论一下僵尸进程!1、为什么会有僵尸进程?当父进程fork出的子进程运行结束后,为了父进程还能够获得子进程的一些信息,系统会维护子进程的一些信息,这些信息包括子进程的进程ID、终止...

2015-09-13 11:10:55

阅读数 668

评论数 0

【网络】(四)网络相关函数使用简介

1、getsockname用于获取自己的ip和端口使用举例: struct sockaddr_in localaddr; socklen_t len = sizeof(localaddr); memset(&localaddr,0,sizeof(localaddr))...

2015-09-12 18:06:47

阅读数 279

评论数 0

【网络】(三)流协议粘包问题

在第二篇中,谈到了流协议的粘包问题以及一种解决方法的实现,在数据的开始显示的指明数据的长度;这是一种不错的解决方法,另外,也有说到可以根据数据中的特殊字符来判断是否接收完了一整条消息,本篇将在上一篇的基础上实现这一方法!原理:依据数据尾部是否有’\n’,来表示消息是否接收完成1、核心函数实现//使...

2015-09-12 16:55:27

阅读数 609

评论数 0

【网络】(二)流协议粘包问题

1、流协议与粘包  TCP协议是基于字节流的,数据无边界,无边界反应在对方接收消息时无法保证一次性返回多少个字节,有可能收到的不是一个完整的消息,可能是半个消息、或者多于一个消息,这就是TCP的粘包问题  UDP协议基于数据报,数据有边界,体现在对方一次收到的是一个完整的消息产生粘包的因素  如上...

2015-09-12 15:35:24

阅读数 627

评论数 0

【网络】(一)Socket 简介

1、什么是socket? socket可以看成是用户进程与内核网络协议栈的编程接口。 socket不仅可以用于本机的进程间通信,还可以用于网络上不同主机的进程间通信!     2、IPv4套接字地址结构 通常也被称为“网际套接字地址结构”,名为:sockaddr_in,位于头文件str...

2015-09-12 09:54:02

阅读数 498

评论数 0

获取进程能打开的最大文件数量【OPEN_MAX】

手上一个小项目,需要获取一个当前Linux操作系统下,一个进程能打开的最大文件数目,在《linux程序设计 第4版》 85页有说:  任何一个运行中的程序能够同时打开的文件数是有限制的,这个限制通常是由limits.h头文件中的常量OPEN_MAX定义的,它的值随系统的不同而不同,但POSIX要求...

2015-09-09 11:09:12

阅读数 4115

评论数 2

提示
确定要删除当前文章?
取消 删除
关闭
关闭