problem mit source code, compiler zeigt paar fehler an
-
Ich weiss leider nicht ob dies das richtige Forum dafür ist, ich hoffe es ist das richtige

Ich hab nen problem mit nem source code.
Der Source Code ist von nem Typen der das gleiche spiel spielt wie ich. er hat sich nen login und world server programmiert um bisschen was zu erkunden.leider hat er nur den source code ansich bereit gestellt, aber keinerlei infos wie man ihn compiliert oder welche sprache es ist.
ich bin atm noch ziemlich noobig wenns um C geht. programmier zwar gerne in java aber selbst da kenn ich nur die meisten grund begriffe, oder programmier ne benutzerdatenbank auf txt basierend

ich habe versucht den source mit Microsoft Visual C++ 6.0 zu compilieren, aber da zeigt er mir 11 fehler an. leider hab ich atm keinen blassen was der meint^^
da ich diese software auch gerne nutzen würde wollte ich hier fragen ob es jemanden gibt der mir den source compilieren könnte und mir schicken oder hier nen post mit download links machen. (meine e-mail adresse ist tepoo@gmx.de)
wie gesagt weiss ich leider auch nicht welche C sprache das ist. denke mal C++, kann aber auch C# sein

Das ist der Login Server
#include <cstdio> #include <iostream> #include <winsock.h> void dump(const unsigned char* buf, int len) { int i = 0; for(i; i < len; ++i) { printf("%02X ", buf[i]); if((i+1)%16 == 0) { printf("\n"); } } if((i+1)%16 != 0) { printf("\n"); } printf("\n"); } int main(int argc, char* argv[]) { // primero inicializamos la libreria WSAData wsaData; WSAStartup( MAKEWORD(1, 0), &wsaData ); // creamos el socket SOCKET m_socket = socket( PF_INET, SOCK_STREAM, 0 ); if( m_socket == -1 ) { perror("socket()"); } // llenamos la informacion sockaddr_in addr; addr.sin_family = AF_INET; addr.sin_port = htons( 6000 ); addr.sin_addr.s_addr = INADDR_ANY; memset( &(addr.sin_zero), 0x00, 8 ); // lo atamos al puerto if( bind( m_socket, (sockaddr*)&addr, sizeof(sockaddr) ) == -1 ) { perror("bind()"); } // lo hacemos que escuche if( listen( m_socket, 10 ) == -1 ) { perror("listen()"); } int size; sockaddr_in caddr; int len = 0; unsigned char buf[10000]; size = sizeof( sockaddr_in ); SOCKET client = accept( m_socket, (sockaddr*)&caddr, &size ); printf("\n\n== SMSG 4 ==\n\n"); send(client, "\x04\x00\x01\x01", 4, 0); len = recv(client, (char*)buf, sizeof(buf), 0); printf("\n\n== CMSG 4 ==\n\n"); dump(buf, len); printf("\n\n== SMSG 5 ==\n\n"); send(client, "\x29\x00\x01\x02\x01\x01\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", 41, 0); len = recv(client, (char*)buf, sizeof(buf), 0); printf("\n\n== CMSG 5 ==\n\n"); dump(buf, len); printf("\n\n== SMSG 6 ==\n\n"); send(client, "\x29\x00\x01\x03\x01\x01\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", 41, 0); len = recv(client, (char*)buf, sizeof(buf), 0); printf("\n\n== CMSG 6 ==\n\n"); dump(buf, len); printf("\n\n== SMSG 7 ==\n\n"); send(client, "\x29\x00\x01\x04\x01\x00\x00\x7F\x71\x17\x00\x00\x41\x00\x41\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", 41, 0); len = recv(client, (char*)buf, sizeof(buf), 0); printf("\n\n== CMSG 7 ==\n\n"); dump(buf, len); while(1) { } // winsock necesita esto WSACleanup(); }Das ist der World Server
#include <cstdio> #include <iostream> #include <winsock.h> void dump(const unsigned char* buf, int len) { int i = 0; for(i; i < len; ++i) { printf("%02X ", buf[i]); if((i+1)%16 == 0) { printf("\n"); } } if((i+1)%16 != 0) { printf("\n"); } printf("\n"); } int main(int argc, char* argv[]) { // primero inicializamos la libreria WSAData wsaData; WSAStartup( MAKEWORD(1, 0), &wsaData ); // creamos el socket SOCKET m_socket = socket( PF_INET, SOCK_STREAM, 0 ); if( m_socket == -1 ) { perror("socket()"); } // llenamos la informacion sockaddr_in addr; addr.sin_family = AF_INET; addr.sin_port = htons( 6001 ); addr.sin_addr.s_addr = INADDR_ANY; memset( &(addr.sin_zero), 0x00, 8 ); // lo atamos al puerto if( bind( m_socket, (sockaddr*)&addr, sizeof(sockaddr) ) == -1 ) { perror("bind()"); } // lo hacemos que escuche if( listen( m_socket, 10 ) == -1 ) { perror("listen()"); } int size; sockaddr_in caddr; size = sizeof( sockaddr_in ); SOCKET client = accept( m_socket, (sockaddr*)&caddr, &size ); printf("CLIENT CONNECTED\n"); int len = 0; unsigned char buf[10000]; printf("\n\n== SMSG 1 ==\n\n"); send(client, "\x29\x00\x03\x01\x00\x00\x00\x00\x00\x00\x01\x01\x01\x01\x01\x01\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", 41, 0); len = recv(client, (char*)buf, sizeof(buf), 0); printf("\n\n== CMSG 4 ==\n\n"); dump(buf, len); printf("\n\n== SMSG 5 ==\n\n"); send(client, "\x29\x00\x03\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x10\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", 41, 0); len = recv(client, (char*)buf, sizeof(buf), 0); printf("\n\n== CMSG 5 ==\n\n"); dump(buf, len); printf("\n\n== SMSG 6 ==\n\n"); send(client, "\x29\x00\x03\x03\x00\x00\x00\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", 41, 0); len = recv(client, (char*)buf, sizeof(buf), 0); printf("\n\n== CMSG 7 ==\n\n"); dump(buf, len); printf("\n\n== SMSG 7 ==\n\n"); send(client, "\x39\x00\x03\x04\x00\x00\x00\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x00\x00\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01", 57, 0); len = recv(client, (char*)buf, sizeof(buf), 0); printf("\n\n== CMSG 7 ==\n\n"); dump(buf, len); while(1) { } // winsock necesita esto WSACleanup(); }Ich hoffe jemand von euch kann mir dabei helfen.
MfG
Marco
-
Das ist C.
Und wie sehen die Fehlermeldungen aus?Tipp: Die Header richtig einbinden, wie bei winsock**.h**.
-
... schrieb:
Tipp: Die Header richtig einbinden, wie bei winsock**.h**.
Die Header sind doch richtig (für C++). Nur stehst du da vor dem Problem, daß alle Funktionen im Namensraum "std::" liegen (setz mal ein 'using namespace std;' unter die Includes und schau mal nach, wleche Fehler noch übrigbleiben).