zoukankan      html  css  js  c++  java
  • c udp server client demo

    server.c

    //
    // Created by gxf on 2020/2/7.
    //
    
    #include <stdio.h>
    #include <sys/socket.h>
    #include <arpa/inet.h>
    #include <stdlib.h>
    
    #define BUFFSIZE 1024
    
    int main(){
        int serverSocketFd = socket(AF_INET, SOCK_DGRAM, 0);
        struct sockaddr_in serverAddr;
        serverAddr.sin_family = AF_INET;
        serverAddr.sin_port = htons(1234);
        serverAddr.sin_addr.s_addr = inet_addr("127.0.0.1");
    
        int ret = bind(serverSocketFd, (struct sockaddr *)&serverAddr, sizeof(serverAddr));
        if (ret) {
            fprintf(stderr, "bind fail");
            exit(1);
        }
    
        struct sockaddr_in cliAddr;
        socklen_t cliAddrLen = sizeof(cliAddr);
        while (1) {
            char buff[BUFFSIZE];
            int readCount = recvfrom(serverSocketFd, buff, BUFFSIZE, 0, (struct sockaddr*)&cliAddr, &cliAddrLen);
            buff[readCount] = '';
            printf("Receive from client:%s
    ", buff);
            sendto(serverSocketFd, buff, BUFFSIZE, 0, (struct sockaddr *)&cliAddr, cliAddrLen);
        }
    
    
        return 0;
    }
    

      

      client.c

    //
    // Created by gxf on 2020/2/7.
    //
    
    #include <stdio.h>
    #include <sys/socket.h>
    #include <arpa/inet.h>
    
    #define BUFSIZE 1024
    
    int main(){
        int clientSocketFd = socket(AF_INET, SOCK_DGRAM, 0);
        struct sockaddr_in serverAddr;
        serverAddr.sin_family = AF_INET;
        serverAddr.sin_port = htons(1234);
        serverAddr.sin_addr.s_addr = inet_addr("127.0.0.1");
    
        socklen_t addrLen = sizeof(serverAddr);
        while (1) {
            char buff[BUFSIZE];
            printf("Enter msg send to server:");
            scanf("%s", buff);
    
            sendto(clientSocketFd, buff, BUFSIZE, 0, (struct sockaddr*)&serverAddr, addrLen);
            int readCount = recvfrom(clientSocketFd, buff, BUFSIZE, 0, (struct sockaddr*)&serverAddr, &addrLen);
            buff[readCount] = '';
            printf("Receive from server:%s
    ", buff);
        }
    
        return 0;
    }
    

      

      

  • 相关阅读:
    numpy 学习
    小技巧:Python中,如何让语句输出在同一行的技巧:end=
    Python 循环简介
    Python中第一个if else逻辑判断小程序
    如何让Notepad++的Table转化成4个空格
    Python3.5.2中的变量介绍
    通过配置环境变量,直接运行python3.5.2
    Python3.5.2安装方法
    java 规范
    java数据类型
  • 原文地址:https://www.cnblogs.com/luckygxf/p/12274979.html
Copyright © 2011-2022 走看看