winsocket error (bitte löschen @mod)



  • Hi!
    Ich erstelle (Wie in anderen Programmen die ich gemacht habe mit WinSockets) einen Socket so:

    #define BUFFER_SIZE 4096
    #define PORT 22015
    
    #include <vcl.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <sys/types.h>
    #include <winbase.h>
    #include <winsock2.h>
    
    #include "game.h"
    #include "network.h"
    
    int WaitServerStep = 0;
    extern String CommandLine;
    
    int s;
    sockaddr_in srv;
    char msg[BUFFER_SIZE];
    
    //---------------------------------------------------------------------------
    void SendToSock(int sock, String msg) {
      send(sock, msg.c_str(), msg.Length(), 0);
    }
    
    String LoginName, LoginPwd, Adress;
    
    void UpdateWaitForAnswer() {
      if (WaitServerStep == 0) {
        LoginName = LoginPwd = Adress = "";
        if (CommandLine.Length() > 5) {
          int i = inStr(CommandLine, " ", 0);
          int j;
          if (i == -1) WaitServerStep = -1;
          else {
            Adress = LowerCase(CommandLine.SubString(1,i-1));
            Adress = "127.0.0.1";
            i++;
            j = inStr(CommandLine, " ", i);
            if (j == -1) WaitServerStep = -1;
            else {
              LoginName = LowerCase(CommandLine.SubString(i, j-i));
              i = j + 1;
              j = CommandLine.Length() + 1;
              LoginPwd = LowerCase(CommandLine.SubString(i, j-i));
    
              s = socket(AF_INET, SOCK_STREAM, 0);
              if (s == -1) Adress = "ERROR NUM.: " + IntToStr(errno);
              srv.sin_addr.s_addr = inet_addr(Adress.c_str());
              srv.sin_port = htons( PORT );
              srv.sin_family = AF_INET;
              if (connect(s, (struct sockaddr*)&srv, sizeof(srv)) == -1) {
                WaitServerStep = -2;
              } else {
                if (get_first_line()) {
                  WaitServerStep = 1;
                  SendToSock(s, "LOG," + LoginName + "," + LoginPwd);
                } else {
                  WaitServerStep = -2;
                }
              }
            }
          }
        } else
          WaitServerStep = -1;
      }
    }
    

    Jedoch bekomme ich bei meinem OpenGL Projekt (dabei ich den Socket genauso anlege) einen Socketwert von -1 und eine Errornummer von 0.

    Woran kann das liegen?

    FEHLER HAT SICH GEFUNDEN:
    Hatte nicht dran gedacht WSAStartup(MAKEWORD(1, 1), &wsa); auszuführen - Mod bitte diesen Beitrag löschen!

    Können Benutzer einen Beitrag eigentlich nicht selber löschen?

    [ Dieser Beitrag wurde am 01.04.2003 um 15:12 Uhr von ProfEich editiert. ]



  • Lösche ich nicht, vielleicht hat jemand später einmal den selben Fehler und sucht im Forum :).

    MfG SideWinder


Anmelden zum Antworten