摘要: 最简单的排序算法——冒泡排序: 1 void bubble_sort(int *arr, int len) 2 { 3 int up, down; 4 for(up = 0; up != len; ++ up) 5 { 6 for(down = 0; down != ... 阅读全文
posted @ 2014-10-07 21:02 (@_@)ゞ 阅读(148) 评论(0) 推荐(0)
摘要: 我们封装好了Buffer后,却不知道具体要多少个线程,一个一个线程的去关联Buffer太繁琐了。那么,我们是不是可以讲Buffer与线程的一个队列封装在一起呢 ?由于vector中不能存放Thread,所以,我们应在vector中添加相应的Thread *,这样,就可以完成封装了。声明代码如下: 1... 阅读全文
posted @ 2014-10-07 16:00 (@_@)ゞ 阅读(214) 评论(0) 推荐(0)
摘要: 这里,我们需要将缓冲区封装起来,然后让缓冲区与线程想连接,所以我们需要一个相应的接口。在Buffer中,我们需要想对应的一把锁与两个条件变量。当满足队列为空时,消费者等待,反之,生产者等待。Buffer的声明如下: 1 #ifndef BUFFER_H 2 #define BUFFER_H 3 4... 阅读全文
posted @ 2014-10-07 15:47 (@_@)ゞ 阅读(283) 评论(0) 推荐(0)
摘要: 与TCP连接相差不多,UDP同样需要套接字socket产生。注意:UDP中需要知道对方的IP及port,这样才能正确的传送数据。UDP服务器实现代码如下: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include ... 阅读全文
posted @ 2014-10-07 15:03 (@_@)ゞ 阅读(183) 评论(0) 推荐(0)
摘要: 首先,我们需要实现数据结构,当有用户连接时,我们将该用户的IP、连接的端口号等保存到一个链表中,当我们发送消息时,遍历链表,将该消息发送给所有已上线的用户。当用户下线时,我们将该用户从链表中删除。服务器实现代码如下: 1 #include 2 #include 3 #include 4... 阅读全文
posted @ 2014-10-07 14:59 (@_@)ゞ 阅读(499) 评论(0) 推荐(0)
摘要: 进程实现版服务器端: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 int main(int argc,char *argv[... 阅读全文
posted @ 2014-10-07 14:37 (@_@)ゞ 阅读(257) 评论(0) 推荐(0)
摘要: 需要注意,不同的机器,有的可能为大端字节序,有的可能为小端字节序。小端就是低位字节排放在内存的低地址端即该值的起始地址,高位字节排放在内存的高地址端。大端就是高位字节排放在内存的低地址端即该值的起始地址,低位字节排放在内存的高地址端。实现代码如下: 1 #include 2 #include 3... 阅读全文
posted @ 2014-10-07 14:31 (@_@)ゞ 阅读(700) 评论(0) 推荐(0)
摘要: 这里,我们首先要实现一种数据结构,将相应的任务,线程的fd,还有队列实现。声明代码如下: 1 #ifndef _HEAD_H 2 #define _HEAD_H 3 #include 4 #include 5 #include 6 #include 7 #include 8 #includ... 阅读全文
posted @ 2014-10-07 14:25 (@_@)ゞ 阅读(283) 评论(0) 推荐(0)
摘要: 在这里,我们还是需要一个管道,只不过,我们只需这一个管道,即可知道,客户端有哪些上线、对话、下线等。服务器端的实现代码如下: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #inclu... 阅读全文
posted @ 2014-10-07 14:12 (@_@)ゞ 阅读(778) 评论(0) 推荐(0)
摘要: 在这里,我们根据参数,创建两个有名管道,mkfifo函数可以帮我们实现管道的创建。这里需要注意,服务器端先打开的哪个管道,客户端也需要先打开哪个管道,而且必须是一端为写,另一端为读。在创建父子进程时,我们需要注意,当该进程只读取数据时,先要将写端关闭,反之,就需先将读端关闭。服务器实现代码如下: 1... 阅读全文
posted @ 2014-10-07 14:05 (@_@)ゞ 阅读(611) 评论(0) 推荐(0)
摘要: 在这里,我们根据输入的相应命令,调用系统的命令。若不是系统的命令,自动清空该命令,否则,根据系统命令执行。实现代码如下: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #define M '>' 8... 阅读全文
posted @ 2014-10-07 13:53 (@_@)ゞ 阅读(587) 评论(0) 推荐(0)
摘要: 简单的ls实现,首先,我们需要遍历参数目录下的各个文件,再根据文件相应的性质,读取文件的权限,用户组,用户名,大小,最后一次访问的时间,再根据文件名排序后依次显示。具体的函数声明如下: 1 #include 2 #include 3 #include 4 #include 5 #includ... 阅读全文
posted @ 2014-10-07 13:45 (@_@)ゞ 阅读(592) 评论(0) 推荐(0)