栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

socket tcp note

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

socket tcp note

#ifndef _HEAD_SOCKET_H
#define _HEAD_SOCKET_H

#include               
#include           
#include          
#include             
#include             
#include              
#include 
#include           
#include              
#include              

#define SIZE  100

// typedef  unsigned int   UINT;
// typedef  unsigned char  UCHAR;
// typedef  unsigned char  USHOET;

bool JUDEG = true;



#endif
#include "head_socket.h"


int main(int argc, char const *argv[])
{
    if(argc != 3)
    {
        printf("Usage: %s n", argv[0]);
        exit(0);
    }
    
    int fd = socket(AF_INET, SOCK_STREAM, 0);
    
    
    struct sockaddr_in srvaddr, cliaddr;
    socklen_t len = sizeof(srvaddr);
    bzero(&srvaddr, len);
    srvaddr.sin_family = AF_INET;
    inet_pton(AF_INET, argv[1], &srvaddr.sin_addr);
    srvaddr.sin_port   = htons(atoi(argv[2]));
    connect(fd, (struct sockaddr *)&srvaddr, len);
    
    char buf[SIZE];
    
    while(JUDEG)
    {
        
        bzero(buf, SIZE);
        
        if(fgets(buf, SIZE, stdin) ==NULL)
            break;
        if(strncmp(buf, "quit", 4) == 0)
        {
            fprintf(stdout,"Process exit!n");
            break;
        }
        
        write(fd, buf, strlen(buf));
    }
    
    close(fd);
    
    return 0;
}
#include "head_socket.h"


int main(int argc, const char *argv[])
{
    if(argc != 2)
    {
        printf("Usage: %s n", argv[0]);
        exit(0);
    }
    
    int fd = socket(AF_INET, SOCK_STREAM, 10);

    
    
    struct sockaddr_in srvaddr, cliaddr;
    socklen_t len = sizeof(srvaddr);
    bzero(&srvaddr, len);
    srvaddr.sin_family = AF_INET;
    srvaddr.sin_port   = htons(atoi(argv[1]));
    srvaddr.sin_addr.s_addr   = htonl(INADDR_ANY);
    // inet_pton(AF_INET, "192.168.1.73", &srvaddr.sin_addr);
    bind(fd, (struct sockaddr *)&srvaddr, len);

    
    listen(fd, 3);
    
    len = sizeof(cliaddr);
    int connect_fd = accept(fd, (struct sockaddr *)&cliaddr, &len);
    char peeraddr[50];
    bzero(peeraddr, 50);
    printf("new connection: %s:%hun", 
    inet_ntop(AF_INET, &cliaddr.sin_addr, peeraddr, 50), 
    cliaddr.sin_port);
    
    char buf[SIZE];
    
    while(JUDEG)
    {
        
        bzero(buf, SIZE);
        if(read(connect_fd, buf, SIZE) == 0)
            break;
        if(strncmp(buf, "quit", 4) == 0)
        {
            fprintf(stdout,"Process exit!n");
            //printf("Process exit!n");
            break;
        }
        printf("from Jack: %s", buf);
    }
    
    close(fd);
    close(connect_fd);
    
    return 0;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/864112.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号