void strRev(char *s) { //翻转字符创
for(char *end = s + strlen(s) - 1; end > s ; *s++ ^= *end ^= *s ^= *end--);
}
void strcpy(char * dest, const char * src) { char *p=dest; while(*dest++ = *src++); //字符串拷贝
dest=p;
}
进程间通信:管道、消息队列、套接字、信号量、内存共享。
作业:用户在一次解题或一个事务处理过程中所要求计算机系统所做的工作的集合。包括用户程序、所需数据及控制命令等。
进程:一个程序在一个数据集合上的一次运行过程。
线程:进程的一个实体,被系统独立调度和执行的基本单位。
管程:定义了一个数据结构以及在这个数据结构上的能为并发进程执行的一组操作。
进程与线程区别:
进程是程序一次执行,线程是进程中执行的一段程序片段。进程是独立的,表现在内存空间,上下文环境中。线程运行在进程内,同意进程所产生的所有线程共享同一内存空间。
死锁四个条件:互斥条件(注意:无法被破坏),不可剥夺条件,循环等待条件,请求与保持条件。
套接字编程:
服务器端:
1.ServerSocket(int port)创建服务器端套接字,绑定到指定端口。
2.accept()监听连接请求,则接受连接,返回通信套接字。
3.Socket类的getOutStream()和getInputStream()获取输入输出流。
4.关闭套接字,Socket.close()。
客户端:
1.soket()创建套接字流,连接大服务器。
2.Socket类的getOutStream()和getInputStream()获取输入输出流。
3.关闭套接字,Socket.close()。
常见端口(1-1023知名端口):
21:FTP , 23:Telnt, 25:SMTP, 53:DNS, 80:HTTP。
TCP的三次握手:
1.客户端》syn=i》服务器端;
2.服务器端》ack=i+1,syn=j》客户端;
3.客户端》ack=j+1》服务器端。
网络协议:
数据链路层:1.PPP 2.HDLC
网络层:1.CIDR无分类编址;2.ARP地址解析协议;3.DHCP动态主机配置协议;4.ICMP网际控制报文协议(终点不可达、源点抑制);5.IGMP(组播)6.IGP内部网关协议(RIP路由协议—邻路由交换全部,OSPF开放最短路径优先—全部路由交换相邻信息);7.EGP外部网关协议(BGP边际网关协议);
传输层:1.TCP;2.UDP。
应用层:1.FTP;2.STMP;3.POP;34.HTTP。