socket编程学习笔记

来源:互联网 发布:软件开发专业课程 编辑:程序博客网 时间:2024/05/16 23:47

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

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

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

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

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

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

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

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

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

区别:

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