Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <WinSock2.h>
- #include <WS2tcpip.h>
- #include <iostream>
- #pragma comment( lib, "WS2_32.lib" )
- using namespace std;
- int main(int argc, char* argv[])
- {
- int status;
- WSADATA WsaData;
- if(WSAStartup( MAKEWORD(2,2), &WsaData ) != NO_ERROR)
- {
- cout << "Could not initialize sockets!\n";
- }
- int sock = socket(AF_INET6, SOCK_DGRAM, IPPROTO_UDP);
- char option = '0';
- status = setsockopt(sock, IPPROTO_IPV6, IPV6_V6ONLY, &option, sizeof option);
- if(status != 0)
- {
- printf("Could not set socket to dual-stack mode: %d\n", status);
- }
- struct sockaddr_in6 localAddr, toAddr;
- memset(&localAddr, 0, sizeof(localAddr));
- localAddr.sin6_family = AF_INET6;
- localAddr.sin6_port = htons(28961);
- localAddr.sin6_addr = in6addr_any;
- status = bind(sock, (struct sockaddr *)&localAddr, sizeof(localAddr));
- if(status != 0)
- {
- printf("Could not bind socket on address 28961: %d\n", status);
- }
- memset(&toAddr, 0, sizeof(toAddr));
- toAddr.sin6_family = AF_INET6;
- toAddr.sin6_port = htons(28960);
- inet_pton(AF_INET6, "::1", &(toAddr.sin6_addr));
- while(true){
- status = sendto(sock, "blabla", 7, 0, (struct sockaddr*)&toAddr, sizeof(toAddr));
- cout << status;
- cout << "test" << endl;
- cin.get();
- }
- WSACleanup();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment