zoukankan      html  css  js  c++  java
  • 最简单的UDP程序

    不喜欢看太复杂的原理说明,只为快速地编出程序,这个是经过简化的最简单的UDP发送程序:

    代码
    // mywsk.cpp : 定义控制台应用程序的入口点。
    #include "stdafx.h"
    #include
    <stdio.h>
    #include
    <winsock.h>
    #pragma comment(lib, "Ws2_32.lib")

    void handle_error(void); /* Error handler routine */

    int main()
    {
    WORD wVersionRequested;
    /* 需要的socket dll 版本信息 */
    WSADATA wsaData;
    /* data for socket lib initialization */
    // 初始化winsock库
    wVersionRequested = 0x0101; /* 版本号:1.1 */
    if ( !WSAStartup( wVersionRequested, &wsaData ) )
    {
    // 这里要检查一下版本号是否正确,为简化,去掉了
    // 打开一个UDP socket
    SOCKET sock; /* socket */
    struct sockaddr_in address; /* SOCKET地址 */
    if ( (sock = socket(AF_INET, SOCK_DGRAM ,0 /*IPPROTO_UDP*/)) != INVALID_SOCKET )
    {
    address.sin_family
    =AF_INET; /* internet */
    address.sin_port
    = htons(60000); /* 端口号 */
    address.sin_addr.s_addr
    =inet_addr("127.0.0.1"); // 目的IP地址,向本机发送写"127.0.0.1"

    // 循环发送
    for(int i=0;i<5000;i++)
    {
    int err; /* 错误号 */
    char buf[256];
    sprintf(buf,
    "Hello,world! i=%d!",i);
    // 发送这个字符串
    err=sendto(sock,buf,strlen(buf),0,(struct sockaddr *)&address,sizeof(address));
    printf(
    "Sent: %s, err:%d\n", buf,err); // err>0时,为发送字节数
    }

    }
    }
    WSACleanup();
    /* clean up before exit */
    exit(
    0);
    }
  • 相关阅读:
    HDU 3564 Another LIS
    POJ 2104 K-th Number
    HYSBZ 1901 Dynamic Rankings
    HYSBZ 4321 queue2
    HYSBZ 3991 寻宝游戏
    工作中使用到的的MonogoDB查询语句记录。
    工作中使用到的的MySQL查询语句记录。
    python对文本文件的读写操作
    WRK的使用-lua脚本POST请求(静态数据)
    WRK的使用-lua脚本GET请求
  • 原文地址:https://www.cnblogs.com/resound/p/1817905.html
Copyright © 2011-2022 走看看