// Sockets.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include #include "CSock.h" #include #include "process.h" #define client bool AppActive=true; #ifdef client CSock cli; char InputBuff[1024]; int InputBuffLen=0; void InputThread(void *dummy) { while(AppActive) { char ch=getch(); if( ch == VK_ESCAPE ) { AppActive=false; return; } char chTemp[2]; chTemp[0] = ch; chTemp[1] = 0; printf( chTemp ); if( ch != VK_RETURN ) { InputBuff[InputBuffLen++] = ch; } else { InputBuff[InputBuffLen] = 0; cli.Send( InputBuff ); printf( " %s\n", InputBuff ); InputBuff[0] = 0; InputBuffLen = 0; } } return; } void receiveFunc(char *data,int size) { if( strlen(data) ) { printf( "%s\n",data ); } } int main(int argc, char* argv[]) { cli.InitializeSockets(); cli.CreateNewSocket(); if(cli.ConnectSocket("localhost",81,5000)) printf("connected\n"); else { printf("could not connect\n"); return 0; } _beginthread(&InputThread,0,0); cli.SetReceiveCallback(&receiveFunc); while(cli.Connected() && (AppActive==true)) { Sleep(1000); } AppActive=false; Sleep(100); cli.Close(); cli.ShutdownSockets(); return 0; } #else CSock cli; void receiveFunc(char *buff,int size) { if( strlen(buff) ) { printf( "%s\n",buff ); char echoBuff[2048]; memset(echoBuff,0,sizeof(echoBuff)); sprintf(echoBuff," %s",buff); cli.Send(echoBuff); } } int main(int argc, char* argv[]) { cli.InitializeSockets(); cli.CreateNewSocket(); cli.Bind( 81 ); cli.Listen(); cli.sock = cli.AcceptConnection(); char buff[1024]; buff[0]=0; cli.SetReceiveCallback(&receiveFunc); while( cli.Connected() && (AppActive==true)) { Sleep(1000); } cli.Close(); cli.ShutdownSockets(); return 0; } #endif