一 需求分析
柏克莱套接字,又称为BSD 套接字是一种应用程序接口,用于网际插座与Unix域套接字,包括了一个用C语言写成的应用程序开发库,主要用于实现进程间通讯,在计算机网络通讯方面被广泛使用。
使用Berkeley套接字的系统有很多,本系统是在Ubuntu下用C语言进行socket编程。
二 程序设计
2.1 系统流程设计
如下图所示:
![](https://i-blog.csdnimg.cn/blog_migrate/b8700f9d3284593b57e3f8633aade092.png)
2.2 数据结构设计
socket编程问题中涉及的数据结构包括 套接口地址结等。
为了实现这些数据结构,用C语言定义变量如下:
structsockaddr_in {
sa_family_t sin_family;
in_port_t sin_port;
struct in_addr sin_addr;
};
三 程序实现
3.1 TCP通信流程
如下图所示:
![](https://i-blog.csdnimg.cn/blog_migrate/0ab708ad563e1d43affc91fd110b7239.png)