——————TCP客户端——————–
作为客户端要主动连接服务器
步骤:
1.创建TCP套接字
2.用connect链接服务器
3.连接服务器ser_addr,当没有绑定固定端口的时候
4.给服务器发送数据
5.接收服务器的应答
6.关闭套接字
#include <stdio.h>
#include <unistd.h>//close
#include <sys/socket.h>//socket头文件
#include <netinet/in.h>//struct
#include <string.h>//memset
#include <arpa/inet.h>
//作为客户端要主动连接服务器
int main(int argc, char const *argv[])
{
//1.创建tcp套接字
int sockfd;
sockfd = socket(AF_INET,SOCK_STREAM,0);
//2.用connect链接服务器
struct sockaddr_in ser_addr;
ser_addr.sin_family = AF_INET;
ser_addr.sin_port = htons(8000);
ser_addr.sin_addr.s_addr = inet_addr("10.221.2.52");
//3.连接服务器ser_addr,当没有绑定固定端口的时候
//connect会随机分配一个端口给客户端
connect(sockfd,(struct sockaddr *)&ser_addr,sizeof(ser_addr));
//4.给服务器发送数据
send(sockfd,"nishizhu",strlen("nishizhu"),0);
//5.接收服务器的应答
char buf[128] = "";
int len = 0;//成功返回收到的字节数
len = recv(sockfd,buf,sizeof(buf),0);//阻塞
printf("---%d---\n", len);
printf("---%s---\n", buf);
close(sockfd);
return 0;
}