All pastes #426432 Raw Edit

Stuff

public text v1 · immutable
·published 2007-04-06 03:54 UTC
rendered paste body
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <winsock.h>
#include <winsock2.h>
#pragma comment(lib, "wsock32.lib")
#pragma comment(lib, "winsock32.lib")
#define WIN32_WINNT 0x0501
#define MAXDATA 512
#define PORT 8090


int main() {
	// Vars
	WSADATA wsaData;
	SOCKET sIncoming,sSocket;
	int wsaResult,sInfo,sLength;
	char sBuffer[MAXDATA];
	
	// Structs
	struct sockaddr_in local;
	struct sockaddr_in incoming;
	
	// Program Starts
	wsaResult = WSAStartup(MAKEWORD(2,2),&wsaData);
	
	if (wsaResult != 0) {
		cout << "WSA Couldnt be started!" << endl;
		ExitProcess(0);
	}
	
    local.sin_family=AF_INET;
    local.sin_addr.s_addr=INADDR_ANY;
    local.sin_port=htons(PORT);
    sSocket = socket(AF_INET,SOCK_STREAM,0);
	
	if (sSocket == INVALID_SOCKET) {
		cout << "Couldnt startup socket!" << endl;
		ExitProcess(0);
	}
	
	if(bind(sSocket,(sockaddr*)&local,sizeof(local))!= 0) {
		cout << "Couldnt startup binding!" << endl;
		ExitProcess(0);
	}
	
	if(listen(sSocket,2)!= 0) {
		cout << "Couldnt startup listening connections!" << endl;
		ExitProcess(0);
	}
	
	sLength = sizeof(incoming);
	
	while (1) {
		sIncoming = accept(sSocket,(struct sockaddr*)&incoming,&sLength);
		sInfo = recv(sSocket,sBuffer,MAXDATA-1,0);
		
		if (sInfo != -1) {
			// send(sSocket,"ORACION",strlen("ORACION"),0);
			cout << "Incoming: " << sBuffer << endl;
		}
	}
	
	closesocket(sSocket);
	WSACleanup();
	return 0;
}