[Winsock] Laczenie z hostem
Ostatnio zmodyfikowano 2011-12-22 15:06
RazzorFlame Temat założony przez niniejszego użytkownika |
[Winsock] Laczenie z hostem » 2011-12-11 10:00:59 Witam Was! Chce was sie zapytac jak w winsock'u dodac hosta np z hamachi tak zebym nie tylko ja mogl kozystac z klienta. Mam kurs ze strony: www.win32developer.com/tutorial.shtmBardzo prosze Was o pomoc! |
|
szyx_yankez |
» 2011-12-11 10:18:16 Chodzi o to, że chcesz się łączyć z serwerem znając IP a nie host? |
|
RazzorFlame Temat założony przez niniejszego użytkownika |
» 2011-12-11 10:21:02 To znaczy w np gethostbyname( tutaj ip hamachi ). chodzi wlasnie o cos takiego. |
|
szyx_yankez |
» 2011-12-11 10:27:20 |
|
RazzorFlame Temat założony przez niniejszego użytkownika |
» 2011-12-11 10:42:34 Oks dzieki wielkie. Jeszcze jedno. Juz ten host jest dobry bo pisze w server "CLIENT CONNECTED" itd. Tylko po tym jak się do serwera podlaczam to dalem zeby wypisal: cout<<"Podlaczylismy sie do serwera!"<<endl; I nic nie wyskakuje. |
|
malan |
» 2011-12-11 11:44:14 Popełniłeś błąd w kodzie w linijce 69. |
|
RazzorFlame Temat założony przez niniejszego użytkownika |
» 2011-12-11 15:17:24 Ehmmm. Malan ja nie podawalem kody pozatym troche przerobilem ten tutek. Teraz pokaze ten kod: #include <iostream> #include <winsock2.h>
#define pause system("pause >> nul")
using namespace std;
int main() { char * usedhost; WSAData wsaData; if( WSAStartup( MAKEWORD( 2, 2 ), & wsaData ) != 0 ) { cout << "Nie masz poloczenia z internetem!" << endl; WSACleanup(); pause; return 1; } SOCKET Socket = socket( AF_INET, SOCK_STREAM, IPPROTO_TCP ); if( Socket == INVALID_SOCKET ) { cout << "Zly socket!" << endl; WSACleanup(); pause; return 1; } cout << "Podaj hosta z ktorym chcesz sie poloczyc: "; cin >> usedhost; hostent * host; host = gethostbyname( usedhost ); if(( host = gethostbyname( usedhost ) ) == NULL ) { cout << "Nie ma takiego hosta!" << endl; WSACleanup(); pause; } SOCKADDR_IN SockAddr; SockAddr.sin_port = htons( 4221 ); SockAddr.sin_family = AF_INET; SockAddr.sin_addr.s_addr =*(( unsigned long * ) host->h_addr ); if( connect( Socket,( SOCKADDR * )( & SockAddr ), sizeof( SockAddr ) ) != 0 ) { cout << "Serwer jest wylaczony!" << endl; WSACleanup(); pause; return 1; } cout << "Siemka" << endl; closesocket( Socket ); WSACleanup(); system( "pause>>nul" ); return 0; }
I tak wgle to ja tu mam 62 linie ;D |
|
RazzorFlame Temat założony przez niniejszego użytkownika |
» 2011-12-11 15:23:53 To znaczy program nie widzi: cout << "Siemka" << endl; Tylko odrazu przechodzi do system("pause>>nul"); W host wpisalem adres mojego hamachi. Pisze w servie client connected ale tam nie pisze "Siemka". Zas jak wpisze zamiast adresu hamachi, localhost to wszystko dziala! |
|
« 1 » 2 3 |