LinuxC
chudongfang2015
开心开心!!!!!!
展开
-
使用 setuid、setgid 和 Sticky 位的特殊文件权限
使用 setuid、setgid 和 Sticky 位的特殊文件权限可执行文件和公共目录可以使用三种特殊类型的权限:setuid、setgid 和 sticky 位。设置这些权限之后,运行可执行文件的任何用户都应采用该可执行文件所有者(或组)的 ID。设置特殊权限时必须非常小心,因为特殊权限会带来安全风险。例如,通过执行将用户 ID (user ID, UID) 设置为 0(这是转载 2016-07-27 22:47:31 · 612 阅读 · 0 评论 -
自写聊天室_LinuxC实现(4)——项目文档
### 项目名称: Happy_Chat### 项目作者: 楚东方 1. 引言1.1 项目综述对项目进行简要介绍,并说明编写此项目的目的。该项目为聊天室,主要为了实现聊天,文件传输,方便linux环境下的,交流与聊天。实现功能:1.好友管理:(1)添加好友(2)删除好友2.群管理(1)创建群(2)加群(3)退群(4)解散群3.文件传送 实现了上传和下载的断点续传4.聊天...原创 2016-09-05 20:59:58 · 4902 阅读 · 3 评论 -
linux epoll 模型详解
在 linux 的网络编程中,很长的时间都在使用 select 来做事件触发。在 linux 新的内核中,有了一种替换它的机制,就是 epoll 。相比于 select , epoll 最大的好处在于它不会随着监听 fd 数目的增长而降低效率。因为在内核中的 select 实现中,它是采用轮询来处理的,轮询的 fd 数目越多,自然耗时越多。并且,在 linux/posix_types.h 头文转载 2016-09-04 19:43:50 · 708 阅读 · 0 评论 -
自写聊天室_LinuxC实现(2)——服务端模块化优化及流程图
这里,对Demo进行了模块化优化,并加上了注释,而且绘制了一个大体的流程图/*更变:mysql数据库:1.数据库:happychat 2.表 :message_tbl 表中变量: recv_name varchar(1024) send_name varchar(1024) mes varchar(2048)*/流程图:原创 2016-08-31 23:24:12 · 2299 阅读 · 0 评论 -
Linux的sleep()和usleep()的使用和区别
函数名: sleep 头文件: #include // 在VC中使用带上头文件 #include // 在gcc编译器中,使用的头文件因gcc版本的不同而不同 功 能: 执行挂起指定的秒数 语 法: unsigned sleep(unsigned seconds);示例: #include #include int main() {转载 2016-08-12 15:19:24 · 904 阅读 · 0 评论 -
自写聊天室_LinuxC实现(3)——客户端模块化优化及流程图
这里,我对客户端代码进行了模块化优化,并优化了界面,加上了注释流程图:模块化划分:共分为一下几个模块:mian.cpp :socket启动及链接,开启线程logic.cpp功能函数:对应了登陆与注册,私聊,群聊,文件传输,好友和群组管理函数tools.cpp工具函数:求文件大原创 2016-09-03 16:05:19 · 2231 阅读 · 0 评论 -
C获取系统时间的方法(linux下)
asctime(将时间和日期以字符串格式表示) 相关函数 time,ctime,gmtime,localtime 表头文件 #include 定义函数 char * asctime(const struct tm * timeptr); 函数说明 asctime()将参数timeptr所指的tm结构中的信息转换成真实世界所使用的转载 2016-08-12 08:48:02 · 2190 阅读 · 0 评论 -
自写聊天室_LinuxC实现(1)——项目部署遇到问题及解决方法
我为了保证该聊天室可以在公网上运行,我把服务端部署到了腾讯云上,这之间出了许多问题,正逐一解决:服务器配置:操作系统 CentOS 6.5 32位CPU 1核内存 1GB系统盘 20GB(本地磁盘)公网带宽 1Mbps本机配置:操作系统 Ubuntu 16.04 64位CPU 8核内存 8GB系统盘 80GB(本地磁盘)1.I原创 2016-08-30 17:58:12 · 2031 阅读 · 0 评论 -
MYSQL_C语言接口
from :http://www.programgo.com/article/94614390341/;jsessionid=5E08E9A0D250D479E22323836396806Fmysql c API安装开发包(mysql-connector-c-6.0.2-linux-glibc2.3-x86-32bit.tar.gz)头文件和动态库mysql-connecto转载 2016-08-19 00:27:32 · 1541 阅读 · 0 评论 -
自写项目——哈夫曼编译码及客户端服务端交互实现
1.项目要求哈夫曼编译码题目要求:编写一个用哈夫曼实现的编码压缩器,语言不限!实现英文字符编译码的功能;实现译码的压缩解压功能;要有较美观的图形用户界面;从客户端发送一段字符给服务器端,服务器端能成功的返回这段字符经过哈夫曼编译码之后的结果!编写步骤:①编写较美观的图形用户界面; ②得到客户端所发送的字符信息,并进行统计,每个字符 的频度作为哈夫曼树叶子结点原创 2016-07-22 09:32:48 · 1338 阅读 · 0 评论 -
Linux C编程实战——第六章 文件操作_项目实现_自写ls命令
自写ls命令根据文件的操作,参考书籍资料,编写了ls命令 目前实现了 -R -r -l -a -i -t 功能直接上代码(已经加入了详细注释):有不足请指教! ——开心!/************************************************************************* > Fil原创 2016-07-20 16:52:18 · 2200 阅读 · 1 评论 -
Linux C编程实战——第七章 进程控制_项目实现_自写shell
自写shell基本介绍:该shell命令目前实现了cd命令,tab补全,历史,和外部命令。基本实现原理 : 根据输入命令,解析参数,然后再fork一个进程,在进程中利用execvp运行外部命令,其cd命令根据chdir()函数实现,tab补全和历史利用readdir()函数及库实现。这是大概思想,下面直接上代码(已经加上详细注释):注意:在运行该程序前要安装read原创 2016-07-29 19:27:09 · 1359 阅读 · 0 评论 -
Linux 下GNU Readline库函数安装用于实现shell内嵌补全
GNU Readline库函数安装该库可以在unbuntu下自动安装,这里给出安装代码:sudo apt-get install libreadline6-dev执行这段代码,Readline库就已经安装好了由于这个库为动态库,所以在链接时要对其进行链接,先用命令找到其目录:原创 2016-07-29 21:04:29 · 4601 阅读 · 0 评论 -
自写聊天室_LinuxC实现(0)——初步代码实现
happychat第一次写聊天室,就给他取了个名字:happychat转载请注明出处:http://blog.csdn.net/chudongfang2015/article/details/52250340当前运行测试环境:unbuntu 16.04 用到的工具: mysql数据库 线程库 实现功能:1.好友管理:(1)添加好友(2)删除好友2.群管理(1)创建群(2)加群(3)退群...原创 2016-08-19 14:45:26 · 4080 阅读 · 7 评论