如前面那篇博客:linux网络编程(一)(点击打开链接)所讲,TCP编程模型如下图所示
1、具体用到的函数如下:
服务器端:
创建socket: socket() 绑定地址:bind() 监听端口:listen() 等待链接:accept() 发/收数据:send()/recv() 结束连接:close()
客户机端:
创建socket: socket() 连接服务器:connect() 发/收数据:send()/recv() 结束连接:close()
2、涉及函数详解——可参考《UNIX环境高级编程》第16章,里面讲的很详细。
2.1创建套接字 socket函数
套接字是通信端点的抽象。类似于应用程序使用文件描述符访问文件,访问套接字必须通过套接字描述符。其实,套接字描述符是用文件描述符实现的,它也是int类型的一个量。创建套接字可以调用socket函数。
- int socket(int domain, int type, int protocol);//成功返回套接字描述符.出错返回-1
-
- 形参domain: 域,确定通信的特性,包括地址格式。表示各个域的常数通常以AF_开头,意指地址族(address family)。比如AF_INET表示IPV4英特网域,AF_INET6表示IPV6英特网域。