|
You last visited: Today at 03:43
Advertisement
[C++] Sever Problem
Discussion on [C++] Sever Problem within the C/C++ forum part of the Coders Den category.
02/12/2012, 15:07
|
#1
|
elite*gold: 0
Join Date: Nov 2009
Posts: 343
Received Thanks: 45
|
[C++] Sever Problem
Hallo Leute,
ich habe ein Problem mit einem Server. Ich bekomme Bei jeder Funktion einen Error Code, weiß jedoch nicht woran es liegt.
Ich poste einfach mal meinen Code:
Ich habe einfach die Vorlage von MSDN genommer und angepsst.
Code:
#include <winsock2.h>
#include <stdio.h>
#include <windows.h>
#include <iostream>
#pragma comment(lib, "Ws2_32.lib")
using namespace std;
int main( int arg, char* arvg[ ] )
{
WSADATA wsaData;
int iResult = WSAStartup( MAKEWORD( 2, 0 ), &wsaData );
if( iResult != NO_ERROR )
{
cout << "WSAStartup failed! Error Code: " << WSAGetLastError( ) << endl;
}
//----------------------
// Create a SOCKET for listening for
// incoming connection requests.
SOCKET ListenSocket;
ListenSocket = socket( AF_INET, SOCK_DGRAM, IPPROTO_IP );
if( ListenSocket == INVALID_SOCKET )
{
cout << "Socket failed! Error Code: " << WSAGetLastError( ) << endl;
WSACleanup( );
return 1;
}
//----------------------
// The sockaddr_in structure specifies the address family,
// IP address, and port for the socket that is being bound.
sockaddr_in service;
service.sin_family = AF_INET;
char ip[ ] = "127.0.0.1/0";
service.sin_addr.s_addr = inet_addr( reinterpret_cast< const char* >( &ip ) );
service.sin_port = ntohs( 2011 );
if( bind( ListenSocket, reinterpret_cast< SOCKADDR* >( &service ), sizeof ( service ) ) == SOCKET_ERROR )
{
cout << "Bind failed! Error Code: " << WSAGetLastError( ) << endl;
closesocket( ListenSocket );
WSACleanup( );
return 1;
}
//----------------------
// Listen for incoming connection requests.
// on the created socket
if( listen( ListenSocket, 1 ) == SOCKET_ERROR )
{
cout << "Listen failed! Error Code: " << WSAGetLastError( ) << endl;
closesocket( ListenSocket );
WSACleanup( );
return 1;
}
//----------------------
// Create a SOCKET for accepting incoming requests.
SOCKET AcceptSocket;
cout << "Wait for connection..." << endl;
//----------------------
// Accept the connection.
AcceptSocket = accept( ListenSocket, NULL, NULL );
if( AcceptSocket == INVALID_SOCKET )
{
cout << "Accept failed! Error Code: " << WSAGetLastError( ) << endl;
closesocket( ListenSocket );
WSACleanup( );
return 1;
}
else
{
cout << "Da ist was... :D" << endl;
}
// No longer need server socket
closesocket( ListenSocket );
WSACleanup( );
return 0;
}
MfG
|
|
|
02/12/2012, 15:36
|
#2
|
elite*gold: 9
Join Date: Dec 2009
Posts: 1,071
Received Thanks: 819
|
Guck doch nach was der Error Code bedeutet...
|
|
|
02/12/2012, 15:58
|
#3
|
elite*gold: 0
Join Date: Nov 2009
Posts: 343
Received Thanks: 45
|
Habe ich jedoch werde ich nicht schlau darauß.
MfG
|
|
|
02/12/2012, 16:21
|
#4
|
elite*gold: 9
Join Date: Dec 2009
Posts: 1,071
Received Thanks: 819
|
Muss man dir alles aus der Nase ziehen? Schreib doch was für ein Fehler kommt... Sonst kann dir keiner helfen.
|
|
|
02/12/2012, 16:29
|
#5
|
elite*gold: 0
Join Date: Nov 2009
Posts: 343
Received Thanks: 45
|
bind error:10049
|
|
|
02/12/2012, 17:15
|
#6
|
elite*gold: 50
Join Date: Mar 2010
Posts: 1,373
Received Thanks: 521
|
Quote:
|
Originally Posted by MSDN
WSAEADDRNOTAVAIL: The requested address is not valid in its context.
|
?
|
|
|
02/12/2012, 17:18
|
#7
|
elite*gold: 0
Join Date: Nov 2009
Posts: 343
Received Thanks: 45
|
Ja, aber warum will ich gerne wissen.
MfG
|
|
|
02/12/2012, 17:55
|
#8
|
elite*gold: 9
Join Date: Dec 2009
Posts: 1,071
Received Thanks: 819
|
Quote:
char ip[ ] = "127.0.0.1/0";
service.sin_addr.s_addr = inet_addr( reinterpret_cast< const char* >( &ip ) );
|
"ip" ist doch schon ein Zeiger... Du musst das char array nur als const deklarieren. Dann kannstu du dir auch den cast sparen.
Quote:
|
service.sin_port = ntohs( 2011 );
|
sollte es nicht htons(...) heißen?
Quote:
|
Originally Posted by msdn
The htons function converts a u_short from host to TCP/IP network byte order (which is big-endian).
|
|
|
|
02/12/2012, 18:04
|
#9
|
elite*gold: 0
Join Date: Apr 2009
Posts: 177
Received Thanks: 42
|
service.sin_addr.s_addr = inet_addr("127.0.0.1");
|
|
|
02/12/2012, 19:01
|
#10
|
elite*gold: 0
Join Date: Nov 2009
Posts: 343
Received Thanks: 45
|
@.Infinite: Ja sollte es, aber mein Client benutzt diese Funktion, deshalb habe ich sie auch hier verwendet. Ist das falsch? Ich kenne mich mit Server/Client sachen nicht gut aus.
@BrendonHomo: Ist das gleiche wie das:
Code:
service.sin_addr.s_addr = inet_addr( reinterpret_cast< const char* >( ip ) );
MfG
|
|
|
02/12/2012, 20:48
|
#11
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
|
Nein.
Was soll das "/0" am Ende der IP?
|
|
|
02/12/2012, 20:58
|
#12
|
elite*gold: 0
Join Date: Nov 2009
Posts: 343
Received Thanks: 45
|
Ok ich habs jetz mal so gemacht:
Code:
const char ip[ ] = "127.0.0.1";
Jetz bekommeich: listen error:10045...
MfG
|
|
|
02/18/2012, 18:24
|
#13
|
elite*gold: 0
Join Date: Nov 2009
Posts: 343
Received Thanks: 45
|
Push: Muss ein Server und ein Client die selben Parameter bei der socket Funktion haben?
|
|
|
02/18/2012, 18:33
|
#14
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
|
Ja.
|
|
|
02/18/2012, 18:38
|
#15
|
elite*gold: 0
Join Date: Nov 2009
Posts: 343
Received Thanks: 45
|
Ok. So sieht der Socket in dem Client aus:
Code:
socket( AF_INET, SOCK_DGRAM, IPPROTO_IP );
Wenn ich jedoch den Socket in dem Sever verwende bekomme ich den Listen Fehler 10045 wieder...
Was ist falsch?
MfG
Edit: Glaub ich habs...
|
|
|
 |
Similar Threads
|
Problem mit P sever
01/25/2011 - Metin2 Private Server - 0 Replies
hallo und einen wunderschönen abend...
ich hab ein problem mit meinem p-server...
ein paar leuts und ich wollen wie gesagt einen neuen p-server haben..
ich hab mir die dateien von profizocker 94 geladen und auch nach video anleitung installiert
ich hab mir ne dyndns ip erstellt und auch in die fritzbox sowi bei freeBSD eingegeben
|
sever problem!
07/11/2010 - Metin2 Private Server - 3 Replies
ich bekomme beim starten vom sever diese meldung:
Enter full pathname of shell or RETURN for /bin/sh:
was jetztich hab mahl davon gehört mann muss da weis eingeben und alles ist wieder ok :D
|
Sever Problem
06/30/2010 - EO PServer Hosting - 4 Replies
Ok, so i had my p-serv up and running and then when i went to make a diffrent one using some of the latest DB's and clients i got this:
Server has RUN already.
This happens on all my servers now and i can't get any up no matter what i do. It's something related to the account server start-up because everything else runs fine.
I would really appreciate it if some1 knew the solution to my problem:confused:
|
P-sever problem mit den sever files von profizocker94!
06/20/2010 - Metin2 Private Server - 4 Replies
Mein sever ladet und ladet und ab und zu kommt ne nachricht wo drinn steht...
No such or directory
(habe ein hamaschi sever)
habe 1200 MB ram eingebombt ist nicht viel aber sollte damit laufen...
|
P Sever Problem ..
10/15/2009 - Metin2 - 2 Replies
Morgen Com,
Ich hab den sever gestart , portmap auch , hab hamachi also inet Verbindung angegeben , hab die mc geändert , aber ich weiß nicht warum ich nicht zocken kann -.- fehler bei verbinden mit dem sever -.- wenn mir jemand helfen kann , ich habe TS & skype und natürlich TeamViewer .. Daten per pn ..
MFG MRLighT ;)
|
All times are GMT +1. The time now is 03:44.
|
|