0719:用socket API 四步建立客户端
1. 建立一个socket
2. 连接服务器
3. 接受服务器信息recv
4. 关闭套接字close socket
//
// client.cpp
// SocketStepByStep
//
// Created by tower on 2019/7/19.
// Copyright © 2019 tower. All rights reserved.
//
#include <stdio.h>
#include <stdlib.h>
#include <netinet/in.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <string.h>
#include <unistd.h>
#define SOCKET_ERROR -1
int main() {
//1. 建立一个socket
int _sock = socket(AF_INET, SOCK_STREAM, 0); //与服务器端不同,第三个参数无需声明使用TCP连接
if (_sock == SOCKET_ERROR) {
printf("socket build error!");
} else {
printf("socket build success!");
}
//2. 连接服务器
sockaddr_in _sin = {};
_sin.sin_family = AF_INET;
_sin.sin_port = htons(4567);
_sin.sin_addr.s_addr = inet_addr("127.0.0.1");
int ret = connect(_sock, (sockaddr*)&_sin, sizeof(sockaddr_in));
if (ret == SOCKET_ERROR) {
printf("connect error!");
} else {
printf("connect success!");
}
//3. 接受服务器信息recv
char recvBuf[256] = {};
int nlen = recv(_sock, recvBuf, 256, 0); //返回接受数据的长度
if (nlen > 0) {
printf("message: %s", recvBuf);
}
//4. 关闭套接字close socket
close(_sock);
return 0;
}
测试客户端和服务器端的连接: