客户端-服务端模型
socket()函数
socket函数是客户端和服务器用来创建一个套接字描述符的(socket descreptor)。
定义int socket(int domain, int type, int protocol)
客户端的步骤为:
int main(int argc, char **argv); // 输入为IP 和 端口号
第一步:创建socket描述符
int clientfd; // 首先创建一个整数型来存储客户端描述符
if((clientfd = socket(AF_INET, SOCK_STREAM, 0)) < 0){
return -1;
}
socket函数返回非负则为成功,返回-1则是出错。所以要加上判别条件,创建失败则退出
第二步:connect连接
客户端通过调用connect函数来与套接字地址为 addr 的服务端进行连接,所以首先要得到服务端的地址信息,然后再使用connect函数建立连接
/* 创建存储地址的类型 */
struct hostent *h;
struct sockaddr_in addr;
if((h = gethostbyname(argv[1])) == NULL){
return -2;
}
bzero((char *)&addr, sizeof(addr));
addr.sin_family = AF_INET;
bcopy((char *)h->h_addr_list[0], (char *)&addr.sin_addr.s_addr,h->h_length);
addr.sin_port = htons(atoi