socket编程学习笔记

3/8/2017来源:ASP.NET技巧人气:2798

基本tcp套接字编程流程图: 这里写图片描述

socket()函数,指定通信的协议。 这里写图片描述

connect()函数,用于客户端与服务器建立连接。 这里写图片描述

bind()函数,用于将一个协议地址(ipv4,Ipv6)赋予一个套接字。 这里写图片描述 远程过程调用RPC。

listen()函数,用于将服务器创建的套接字从主动转为被动,并指定内核为相应套接字连接的最大连接数。 这里写图片描述

accept()函数,用于服务器从已连接队列队头返回下一个已完成连接。 这里写图片描述

fork()函数,创建子进程。 这里写图片描述

注意该函数会返回两次,一个子进程只有一个父进程,一个父进程可以有多个子进程; 用法1:创建多个子进程用于执行不同操作,网络服务器的典型用法; 用法2:一个进程为了执行其他程序,通过创建一个子进程,然后调用exec把自身替换成新的程序,shell的典型用法。

exec()函数:执行硬盘上可执行文件的方式,有六个,其中有一个为系统调用,其余五个为函数。 这里写图片描述

区别:

待执行的文件是有文件名指定,还是路径名指定; 参数是一一列出还是用数组指针指定; 把调用进程的环境传递给新程序还是重新指定环境。