rendered paste body#include <winsock.h>
#include <winsock2.h>
#include <fstream>
#include <iostream>
#include <stdio.h>
using namespace std;
int main(){
#define DEFAULT_BUFLEN 512
WSAData wsadat;
SOCKET sock;
int result;
char ip[100];
int port;
int error = WSAGetLastError();
char sendbuf[100];
char recvbuf[DEFAULT_BUFLEN];
cout<<"what ip do you want to connect to?: "<<endl;
cin>>ip;
cout<<"what port: "<<endl;
cin>> port;
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(port);
server.sin_addr.s_addr = inet_addr(ip);
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, sizeof(sendbuf), MSG_OOB);
if(result == SOCKET_ERROR){
printf("send() failed: %d\n", WSAGetLastError());
system("PAUSE");
goto clean;
}
do{
result = recv(sock,recvbuf, (int)strlen(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);
}