摘要: 1.基于UDP的服务器端编程1.1 创建一个socket,用函数socket()1.2 绑定IP地址、端口等信息到socket上,用函数bind()1.3 循环接收数据,用函数recvfrom()1.4 关闭网路连接udp_server.c2.基于UDP的客户端编程2.1 创建一个socket,用函数socket()2.2 绑定IP地址、端口等信息到socket上,用函数bind()2.3 设置对... 阅读全文
posted @ 2010-07-15 23:31 MikeLin 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 1.基于TCP的服务器端编程1.1 创建一个socket,用函数socket()1.2 绑定IP地址、端口等信息到socket上,用函数bind()1.3 设置允许的最大连接数,用函数listen()1.4 接收客户端的连接,用函数accept()1.5 收发数据,用函数send()和recv(),或者read()和write()1.6 关闭网络连接,用函数close()tcp_server.c2... 阅读全文
posted @ 2010-07-15 22:16 MikeLin 阅读(229) 评论(0) 推荐(0) 编辑
摘要: Linux系统下的多线程遵循POSIX线程接口,称为pthread。编写Linux下的多线程程序,需要使用头文件pthread.h,链接时需要使用库libpthread.a。1.创建线程#include <pthread.h>int pthread_create(pthread_t *tidp, const pthread_attr_t *attr, void *(*start_rtn... 阅读全文
posted @ 2010-07-15 21:49 MikeLin 阅读(335) 评论(0) 推荐(0) 编辑
摘要: 1.管道通信1.1 什么是管道管道是单向的、先进先出的,它把一个进程的输出和另一个进程的输入连接在一起。一个进程(写进程)在管道的尾部写入数据,另一个进程(读进程)从管道的头部读出数据。数据被一个进程读出后,将被从管道中删除,其它读进程将不能再读到这些数据。管道提供了简单的流控制机制,进程试图读空管道时,进程将阻塞。同样,管道已满时,进程再试图向管道写入数据,进程将阻塞。管道包括无名管道和有名管道... 阅读全文
posted @ 2010-07-15 20:41 MikeLin 阅读(354) 评论(0) 推荐(0) 编辑
摘要: 1.获取ID#include <sys/types.h>#include <unistd.h>pid_t getpid(void) //获取本进程IDpid_t getppid(void) //获取本进程的父进程ID2.用fork创建进程#include <unistd.h>pid_t fork(void)fork每被调用一次都返回两次,它有三种可能的返回值:在... 阅读全文
posted @ 2010-07-15 18:27 MikeLin 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 1.时间类型Coordinated Universal Time(UTC):世界标准时间,也就是大家所熟悉的格林威治标准时间(Greenwich Mean Time, GMT)。Calendar Time:日历时间,是用“从一个标准时间点(如:1970年1月1日0点)到此时经过的秒数“来表示的时间。2.时间获取#include <time.h>time_t ti... 阅读全文
posted @ 2010-07-15 14:13 MikeLin 阅读(471) 评论(0) 推荐(0) 编辑
摘要: 1.创建和打开文件FILE *fopen(const char *filename, const char *mode)常见打开模式:r,rb 只读方式打开w,wb 只写方式打开,如果文件不存在,则创建该文件a,ab 追加方式打开,如果文件不存在,则创建该文件r+,r+b,rb+ 读写方式打开w+,w+b,wh+ 读写方式打开,如果文件不存在,则创建该文件a+,a+b,ab+ 读和追加方式打开,如... 阅读全文
posted @ 2010-07-15 13:51 MikeLin 阅读(2513) 评论(0) 推荐(1) 编辑
摘要: 1.创建文件int creat(const char *filename, mode_t mode)filename:要创建的文件名(包含路径,缺省为当前路径)mode:创建的文件的模式/访问权限常见模式:S_IRUSR 可读S_IWUSR 可写S_IXUSR 可执行S_IRWXU 可读、可写、可执行还可以直接使用数字来表示文件的访问权限:可执行 1可写 2可读 4上述三个值的和,如可读可写可执行... 阅读全文
posted @ 2010-07-15 13:28 MikeLin 阅读(1191) 评论(0) 推荐(0) 编辑
摘要: 1. -o output_filename确定可执行文件的名称为output_filename。如果不给出这个选项,gcc就给出预设的可执行文件名a.out。2. -c只编译,不链接成为可执行文件,编译器只是由输入的.c等源文件生成.o为后缀的目标文件。3. -g产生调试工具(gdb)所必要的符号信息,要想对编译出的程序进行调试,就必须加入这个选项。4. -O对程序进行优化编译、链接,采用这个选项... 阅读全文
posted @ 2010-07-15 11:23 MikeLin 阅读(1108) 评论(0) 推荐(0) 编辑
摘要: shell,即命令解析器,将用户输入的指令转换为相应的机器能够运行的程序。shell脚本的第一行必须是如下格式:#! /bin/sh符号#!用来指定该脚本文件的解析程序。当编辑好脚本后,如果要执行该脚本,还必须使其具有可执行属性,即执行以下命令:chmod +x filename1.注释在shell程序中,以#开头的句子表示注释,直到这一行结束。2.变量在shell编程中,所有的变量都由字符串组成... 阅读全文
posted @ 2010-07-15 11:03 MikeLin 阅读(275) 评论(1) 推荐(0) 编辑