All pastes #622839 Raw Edit

Anonymous

public text v1 · immutable
·published 2007-07-17 04:12 UTC
rendered paste body
#include <winsock.h>
#include <winsock2.h>
#include <fstream>
#include <iostream>
#include <stdio.h>
#include <string>
using namespace std;
int main(){
#define DEFAULT_BUFLEN 512
WSAData wsadat;
SOCKET sock;
int result;
char ip[100];
int port;

int error = WSAGetLastError();
string sendbuf;
string recvbuf[DEFAULT_BUFLEN];

cout<<"~~~~~YourCPPHero Chat client~~~~~"<<endl;



result = WSAStartup(MAKEWORD(2,2), &wsadat);
if(result == SOCKET_ERROR){
cout<<"WSAStartup() returned error: "<<error<<endl;
system("PAUSE");
goto clean;

}
sock = socket(AF_INET, SOCK_STREAM, 0);
if(sock == INVALID_SOCKET){
cout<<"socket() returned error: "<<error<<endl;
system("PAUSE");
goto clean;

}

SOCKADDR_IN server;
server.sin_family = AF_INET;
server.sin_port = htons(2007);
server.sin_addr.s_addr = inet_addr("127.0.0.1");

result = connect(sock, (SOCKADDR*)&server, sizeof(server));
if(result == SOCKET_ERROR){
printf("connect() failed: %d\n", WSAGetLastError());
system("PAUSE");
goto clean;
}

cout<<"what would you like to send: "<<endl;
cin>>sendbuf;

result = send(sock, sendbuf, (intr)sizeof(sendbuf), MSG_OOB);
if(result == SOCKET_ERROR){
printf("send() failed: %d\n", WSAGetLastError());
system("PAUSE");
goto clean;

}



do{
       
result = recv(sock,recvbuf, sizeof(recvbuf), MSG_PEEK);

if(result >0)printf("Bytes Recieved: %d\n", result);

else if (result ==0)printf("Connection Closed\n");

printf("recv failed: %ld\n", WSAGetLastError());

cout<<recvbuf<<endl;
}while(result>0);

result = shutdown(sock, SD_SEND);
if(result == SOCKET_ERROR){
printf("shutdown() returned error: %d\n", WSAGetLastError);
goto clean;
}

system("PAUSE");
clean:
WSACleanup();
closesocket(sock);
}