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;
}
//
#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;
}
相关文章推荐
- C# udp socket.sendto() 在win2008下无法发送。
- tcp/udp只发不接,会丢包还是send失败?
- udp_send
- Kwikflix UDP send
- 无连接(UDP)也可以调用send
- 原创---tcp udp: send一次发送数据长度大于recv size_t len时,windows、linux下不同返回
- linux网络协议栈(六)传输层 (3)UDP协议 3)报文发送 send/sendto/sendmsg
- java中使用socket进行udp方式通信时拔掉网线会导致send()方法阻塞
- UDP 服务端与客户端均可以bind()绑定端口, 并且可以使用connect()链接后,使用send()与recv()方法!
- UDP的write/sendto操作是否会阻塞?
- 从send函数和sendto函数参数的不同看TCP和UDP的差别
- UDP的send、sendto和sendmsg测试代码
- UDP send receive
- TCP和UDP编程理解:bind ,recv,recvfrom,send,sendto
- 是tcp和udp只和套接字类型有关,和send,recv,connect无关,这些都是协议无关的函数
- gen_tcp gen_udp send {error, einval} (erlang笔记)
- Qt中Udp:Send、Recv
- UDP的send、sendto和sendmsg测试代码
- 关于linux下的udp/tcp通信设置发送sendto/接收recvfrom信息超时的参数。解决通道堵塞问题。
- TCP与UDP的Send和Recv