基于linux的tcp的连接

客户端

#include<stdio.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<string.h>
int main(int argc,char **argv)
{
    int sockfd;
    struct sockaddr_in servaddr,cliaddr;
    sockfd = socket(AF_INET,SOCK_STREAM,0);

    bzero(&servaddr,sizeof(servaddr));
    servaddr.sin_family = AF_INET;
    servaddr.sin_addr.s_addr = inet_addr(argv[1]);
    servaddr.sin_port = htons(8000);

    connect(sockfd,(struct sockaddr*)&servaddr,sizeof(servaddr));
    return 0;
}

服务器

#include<stdio.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<string.h>
int main()
{
    int listenfd,connfd,n;
    struct sockaddr_in servaddr,cliaddr;
    socklen_t clilen;

    listenfd = socket(AF_INET,SOCK_STREAM,0);

    bzero(&servaddr,sizeof(servaddr));
    servaddr.sin_family =  AF_INET;
    servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
    servaddr.sin_port = htons(8000);

    bind(listenfd,(struct sockaddr *)&servaddr,sizeof(servaddr));

    listen(listenfd,100);

    while(1)
    {
        connfd = accept(listenfd,(struct sockaddr*)&cliaddr,&clilen);

        printf("connfd = %d\n",connfd);

    }
    return 0;
}

 如上图,连接成功

剩下的功能还需要慢慢调试


版权声明:本文为qq_47370105原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。