在很多工程中都需要用到信息的发送和接收,因此在网上收集了些资料,实现了简单的发送文字、文件、图片,以及BASE64编码。(TCP/IP,IP协议这里就不细说了,着重与功能的实现)
套接字基础
套接字是一种网络API,可以使用它开发网络程序。套接字接口提供一种进程间的通信方法,使得在相同或不同的主机上的进程能以相同的规范进行双向信息传送。进程通过调用套接字接口来实现相互间的通信,而套接字接口又利用下层的网络通信协议功能和系统调用实现实际的通信工作。
进程之间要进行通信,首先要调用网络编程接口,由套接字负者将进程接收和发送的请求信息通过下层的网络通信协议服务接口(TCP/IP)向上或向下交付,所以套接字接口是应用层到传输层的接口。
IPv4套接字地址结构
IPv4套接字地址结构通常也称为“网络套接字地址结构”,它的名字为sockaddr_in,其结构定义如下:
- sin_family: Internet地址族,在IPv4中是AF_INET
- sin_port:是端口号,以网络字节序存储
- sin_addr:是一个结构,该结构中的成员存储的才是IP地址
- sin_zero:暂时还未用,但总将它置零
TCP套接字编程
使用TCP套接字编程可以实现基于TCP/IP协议的面向连接的通信,分为服务器和客户端,主要实现过程如下图所示:
客户端
1.加载初始化套接字<