18,363
社区成员




#include <iostream>
#include <Windows.h>
#include <WinSock2.h>
int main(int, char**)
{
while (true) {
SOCKET s = socket(AF_INET, SOCK_STREAM, IPPROTO_IP);
sockaddr_in addr;
memset(&addr, 0, sizeof(sockaddr_in));
addr.sin_family = AF_INET;
addr.sin_addr.S_un.S_addr = inet_addr("61.135.169.125");
addr.sin_port = htons(80);
if (connect(s, (SOCKADDR*)&addr, sizeof(addr)) == SOCKET_ERROR) {
std::cout << "connect error" << std::endl;
}
shutdown(s, SD_SEND);
closesocket(s);
}
return 0;
}
另外同样的问题,但是是boost库中使用asio的,请参见int total = 0;
while (total++ < 10000) {
// ...
}
std::cout << "input for total:";
std::cin.get();
WSACleanup( );
//=================================================================
#include <WinSock2.h>
#include <Windows.h>
#include <iostream.h>
#pragma comment(lib,"ws2_32.lib")
void InitSocket()
{
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD( 2, 2 );
err = WSAStartup( wVersionRequested, &wsaData );
if ( err != 0 ) {
return;
}
if ( LOBYTE( wsaData.wVersion ) != 2 ||
HIBYTE( wsaData.wVersion ) != 2 ) {
WSACleanup( );
return;
}
}
void main(int, char**)
{
InitSocket();
while (true) {
SOCKET s = socket(AF_INET, SOCK_STREAM, IPPROTO_IP);
sockaddr_in addr;
memset(&addr, 0, sizeof(sockaddr_in));
addr.sin_family = AF_INET;
addr.sin_addr.S_un.S_addr = inet_addr("61.135.169.125");
addr.sin_port = htons(80);
if (connect(s, (SOCKADDR*)&addr, sizeof(addr)) == SOCKET_ERROR) {
cout << "connect error" <<endl;
}
shutdown(s, SD_SEND);
closesocket(s);
}
WSACleanup( );
return ;
}