zoukankan      html  css  js  c++  java
  • udp通信的原理---makefile文件

    由于UDP通信不需要事先建立连接,因此不需要TCP中的connect函数。

    服务器端的步骤如下:

    1. socket:      建立一个socket

    2. bind:          将这个socket绑定在某个端口上(AF_INET)

    3. recvfrom:  如果没有客户端发起请求,则会阻塞在这个函数里

    4. close:        通信完成后关闭socket

    客户端的步骤如下:

    1. socket:      建立一个socket

    2. sendto:     相服务器的某个端口发起请求(AF_INET)

    3. close:        通信完成后关闭socket

     

    可以看到,和TCP相比,步骤少了一些。

    这里我们用到了两个新的函数:

    int recvfrom(int sockfd, void * buf, size_t len, int flags, struct sockaddr * src_addr, socklen_t * addrlen);

    int sendto(int sockfd, const void * buf, size_t len, int flags, const struct sockaddr * dest_addr, socklen_t addrlen);

    recvfrom用于接收数据,sendto用于发送数据

    recvfrom:

    socket:socket套接字

    buf:接收到的数据的存放位置

    flags:一般情况下为0

    src_addr:接收的源地址

    addrlen:地址长度

    sendto:

    socket:socket套接字

    buf:要发送的数据的起始地址

    flags:一般情况下为0

    dest_addr:发送到的目的地址

    addrlen:地址长度

    还是先上代码:

    Makefile:

     
    1. all: server.c client.c  
    2.     gcc -Wall client.c -o client  
    3.     gcc -Wall server.c -o server  
    4.   
    5. clean:  
    6.     rm -rf *.o client server  
  • 相关阅读:
    DTD
    JVM-学习笔记持续更新
    MySQL用limit代替SQL Server :top
    正则表达式&&Java文本复杂操作
    JVM核心——JVM运行和类加载全过程
    java动态编译——tools.jar问题
    java-基础
    github for windows 简单的客户端托管代码
    【javascript dom读书笔记】 第九章 CSS-DOM
    【精通css读书笔记】 第八章 布局
  • 原文地址:https://www.cnblogs.com/dpf-learn/p/6223201.html
Copyright © 2011-2022 走看看