网络程序就是编写程序两台连网的计算机进行数据的交换。数据传输使用网络。使用socket
部件编写数据传输软件。
套接字就是计算机用来连接网络的工具。
服务端
调用socket
函数创建套接字
#include <sys/socket. h>
int socket(int domain, int type, int protocol);
//成功时返回文件描述符,失败时返回-10
调用bind
函数给套接字分配地址信息(IP地址和端口号)。
#include <sys/socket.h>
int bind(int sockfd, struct sockaddr *myaddr, socklen_t addrlen);
//成功时退回 e ,失败时返回-1。
调用bind函数给套接字分配地址后,就基本完成了socket
的所有准备工作。 接下来需要将socket
转为转化成可接收连接的状态 。
#include <sys/socket.h>
int listen(int sockfd, int backlog);
//成功时退回 e ,失败时返回-1。
如果有人请求连接,就需要调用accept
函数进行处理
#include <sys/socket.h>
int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);
//成功时返回文件描述符,失败时返回-1。
网络编程中接受连接请求的套接字创建过程可整理如下:
第一步 : 调用 socket函数创建套接字 。
第二步 : 调用bind函数分配IP地址和端口号 。
第三步 : 调用listen函数转为可接收请求状态 。
第四步 : 调用 accept函数受理连接请求 。
客户端
客户端程序
调用socket
函数创建套接字
调用connect
函数向服务器发送连接请求
#include <sys/socket.h>
int connect(int sockfd J struct sockaddr *serv_addr, socklen_t addrlen);
//成功时返回 0 , 失败时返回-1 。