您的位置:首页 > 其它

UDPSend

2013-09-02 21:45 190 查看
// UDPSend.cpp : Defines the entry point for the console application.

//

#include "stdafx.h"

#include <stdio.h>

#include <winsock2.h>

#include <iostream>

#include <string>

#include <windows.h>

#pragma comment(lib, "WS2_32")

using namespace std;

class CInitSock

{

public:

 CInitSock(BYTE minorVer = 2, BYTE majorVer = 2)

 {

  WSADATA wsaData;

  WORD sockVersion = MAKEWORD(minorVer, majorVer);

  if(::WSAStartup(sockVersion, &wsaData) != 0)

   exit(0);

 }

 ~CInitSock()

 {

  ::WSACleanup();

 }

};

 

CInitSock initSock;

int main(int argc, char* argv[])

{

 unsigned int port(0);

 string strAddr("");

 //cout << "Port: ";

 //cin >> port;

 cout << "Remote IP: ";

 cin >> strAddr;

 SOCKET s = ::socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);

 if(s == INVALID_SOCKET)

 {

  cout << "Socket() failed " << ::WSAGetLastError() << endl;

  return 0;

 }

 

 sockaddr_in addrRemote;

 addrRemote.sin_family = AF_INET;

 addrRemote.sin_addr.S_un.S_addr = inet_addr(strAddr.data());

 for(port = 1234; port < 1250; port++)

 {

  addrRemote.sin_port = htons(port);

  if(port % 10 == 0)printf("\r%d", port);

  char szText[100]("Hello World\r\n ");

  char szPort[6]("");

  strcat(szText, itoa(port, szPort, 10));

  ::sendto(s, strcat(szText, " 1"), strlen(szText), 0, (sockaddr*)&addrRemote, sizeof(addrRemote));

  ::sendto(s, strcat(szText, " 2"), strlen(szText), 0, (sockaddr*)&addrRemote, sizeof(addrRemote));

  ::sendto(s, strcat(szText, " 3"), strlen(szText), 0, (sockaddr*)&addrRemote, sizeof(addrRemote));

 }

 ::closesocket(s);

 

 

 return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  udp