资源简介

本程序实现TCP 通信的服务器端和客户端的收发测试,用于基础的TCP测试。

资源截图

代码片段和文件信息

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
 
#define MYPORT  3001
#define BUFFER_SIZE 1206
char* SERVER_IP = “192.168.1.111“;
 
int main()
{
    ///定义sockfd
    int sock_cli = socket(AF_INETSOCK_STREAM 0);
    
    ///定义sockaddr_in
    struct sockaddr_in servaddr;
    memset(&servaddr 0 sizeof(servaddr));
    servaddr.sin_family = AF_INET;
    servaddr.sin_port = htons(MYPORT);  ///服务器端口
    servaddr.sin_addr.s_addr = inet_addr(SERVER_IP);  ///服务器ip
    
    printf(“连接%s:%d\n“SERVER_IPMYPORT);
    ///连接服务器,成功返回0,错误返回-1
    if (connect(sock_cli (struct sockaddr *)&servaddr sizeof(servaddr)) < 0)
    {
        perror(“connect“);
        exit(1);
    }
    printf(“服务器连接成功\n“);
    char sendbuf[BUFFER_SIZE];
    char recvbuf[BUFFER_SIZE];
    while (fgets(sendbuf sizeof(sendbuf) stdin) != NULL)
    {
        //printf(“向服务器发送数据:%s\n“sendbuf);
        printf(“向服务器发送数据:%s\n““log inspvaxa ontime 1“);
        send(sock_cli sendbuf strlen(sendbuf)0); ///发送
        if(strcmp(sendbuf“exit\n“)==0)
            break;
        recv(sock_cli recvbuf sizeof(recvbuf)0); ///接收
        printf(“从服务器接收数据:%s\n“recvbuf);
        
        memset(sendbuf 0 sizeof(sendbuf));
        memset(recvbuf 0 sizeof(recvbuf));
    }
    
    close(sock_cli);
    return 0;
}

评论

共有 条评论