Welcome, guest! Login / Register - Why register?
Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)

Paste

Pasted as C++ by asdasda ( 16 years ago )
#pragma comment( lib, "ws2_32.lib" )

#include <WinSock2.h> //Reihenfolge beachten!!
#include <Windows.h>
//#include <stdio.h>
#include <iostream>

using namespace std;

int startWinsock(void)
{

  WSADATA wsa;

  return WSAStartup(MAKEWORD(2,0),&wsa;);

}

int main(int argc, char* argv[])
{
 long rc;
 SOCKET accep_Socket;
 SOCKET conn_Socket;
 SOCKADDR_IN addr;
 //Winsock starten
 rc=startWinsock();
 
 if(rc != 0)
 {

  cout << "Fehler: startWinsock, Fehler code: " << WSAGetLastError() << endl;
 }
 else
 {

  cout << "Winsock gestartet!" << endl;
 }
 //Socket erstellen
 accep_Socket=socket(AF_INET, SOCK_STREAM, 0);
 if (accep_Socket==INVALID_SOCKET)
 {
 
  cout << "Fehler: Socket konnte nicht erstellt werden, Fehler code: " << WSAGetLastError() << endl;
 }
 else
 {

  cout << "Socket wurde erfolgreich erstellt!" << endl;
 }

 memset(&addr;, 0, sizeof(SOCKADDR_IN));
 addr.sin_family=AF_INET;
 addr.sin_port=htons(12345);
 addr.sin_addr.s_addr=ADDR_ANY;
 rc=bind(accep_Socket,(SOCKADDR*)&addr;, sizeof(SOCKADDR_IN));
 if(rc==SOCKET_ERROR)
 {
 
  cout << "Fehler: bind, Fehler code: " << WSAGetLastError() << endl;
 }
 else
 {

  cout << "Socket an Port 12345 gebunden!" << endl;
 }

 rc=listen(accep_Socket, 10);
 if (rc==SOCKET_ERROR)
 {
 
  cout << "Fehler, listen, Fehler code: " << WSAGetLastError()<< endl;
  return 1;
 }
 else
 {

  cout << "Server ist nun im Listen-Modus..." << endl;
 }

 conn_Socket=accept(accep_Socket, NULL, NULL);
 if(conn_Socket==INVALID_SOCKET)
 {
 
  cout << "Fehler, accept, Fehler code: " << WSAGetLastError() << endl;
  return 1;
 }
 else
 {

  cout << "Verbindung wurde hergestellt!" << endl;
 }

 //Daten austauschen
 char buf[256];
 char buf2[300];
 
 while(rc != SOCKET_ERROR)
 {
  cout << "Nachricht bitte eingeben [max 256] : " ; 
  char testn[256];
  cin >> testn;
  rc=send(conn_Socket,testn,strlen(testn),0);

  rc=recv(conn_Socket, buf, 256,0); /// TIMER?!?
  if(rc==0)
  {

   cout << "Der Server hat die Verbindung getrennt..." << endl;
   break;
  }
  if(rc==SOCKET_ERROR)
  {
  
   cout << "Fehler, recv, Fehler code: " << WSAGetLastError() << endl;
   break;
  }
  buf[rc]='\0';

  cout << "Client: " << buf << endl;
  //sprintf("Du mich auch %s\n", buf);
  
  
  
 }
 closesocket(accep_Socket);
 closesocket(conn_Socket);
 WSACleanup();

 system&#40;"pause"&#41;;
 return 0;
}

 

Revise this Paste

Your Name: Code Language: