zoukankan      html  css  js  c++  java
  • 最简单的socket服务器与客户端

    服务器:

    //服务器
    #include <stdio.h>
    #include <netinet/in.h>
    #include <unistd.h>
    #include <sys/socket.h>
    #include <sys/types.h>
    #include <errno.h>
    #include <string.h>
    int main()
    {   
        int listenFd = socket (AF_INET,SOCK_STREAM,0);//创建套接字
        
        struct sockaddr_in serverAddr,clientAddr;//保存网络地址信息的结构体
        memset (&serverAddr,0,sizeof(serverAddr));
        serverAddr.sin_family = AF_INET;//协议族/地址族
        serverAddr.sin_port = htons(atoi("8080"));//保存端口号 atoi(字符串->整形"8080"->8080)
        serverAddr.sin_addr.s_addr = inet_addr("127.0.0.1");//IP地址
        
        //绑定本地地址和端口
        int ret = bind (listenFd,(struct sockaddr*)&serverAddr,sizeof(serverAddr));
        ret = listen(listenFd,100);//监听
    
      int clientFd;
        int cliLen = sizeof (clientAddr);
      while(1){
          clientFd = accept(listenFd,(struct sockaddr*)&clientAddr,&cliLen);
          char buff[1024] = {0};
          ret = read(clientFd,buff,1024);//接收数据,阻塞
         printf ("recv a msg:%s
    ",buff);
        close (clientFd);
      }
        close (listenFd);
        return 0;
    }

    客户端:

    //客户端
    #include <stdio.h>
    #include <netinet/in.h>
    #include <unistd.h>
    #include <sys/socket.h>
    #include <sys/types.h>
    #include <errno.h>
    #include <string.h>
    
    int main()
    {
        int fd = socket(AF_INET,SOCK_STREAM,0);//创建套接字
    //链接服务器 struct sockaddr_in serverAddr; memset (&serverAddr,0,sizeof(serverAddr)); serverAddr.sin_family = AF_INET;//协议族 serverAddr.sin_port = htons(atoi("8080"));//端口号 serverAddr.sin_addr.s_addr = inet_addr ("127.0.0.1");//IP地址 int ret = connect(fd,(struct sockaddr*)&serverAddr,sizeof(serverAddr)); // socket描述符, 服务器地址, socket结构体长度

    char buff[1024]={0}; ret = read(0,buff,1024); ret = write(fd,buff,ret-1);//去掉回车 // printf ("send a msg :hello "); close(fd); return 0; }
  • 相关阅读:
    Codeforces 1316B String Modification
    Codeforces 1305C Kuroni and Impossible Calculation
    Codeforces 1305B Kuroni and Simple Strings
    Codeforces 1321D Navigation System
    Codeforces 1321C Remove Adjacent
    Codeforces 1321B Journey Planning
    Operating systems Chapter 6
    Operating systems Chapter 5
    Abandoned country HDU
    Computer HDU
  • 原文地址:https://www.cnblogs.com/nanqiang/p/9983449.html
Copyright © 2011-2022 走看看