Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

WinSock progamiranje ...

[es] :: C/C++ programiranje :: WinSock progamiranje ...

[ Pregleda: 1392 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

sucur
Miljan Sucur
Web developer
Istocno Sarajevo

Član broj: 50035
Poruke: 411
*.telekomsrpske.com.



+1 Profil

icon WinSock progamiranje ...11.05.2006. u 11:23 - pre 219 meseci
Ej narode evo bacio sam se malo na net programiranje i hocu da napravim male aplikacije gdje bi jedna bila server, a druga klijent, al' da se obje nalaze na mom kompu (nadam se da je to izvodljivo), jer nemam uslove da ih testiram na razlicitim racunarima i ip adresama.
Tako da posaljem sa servera klijentu neki podatak.
E serversku aplikaciju sam odradio ovako nekako:
Code:
WSAStartup(version, &wsaData);
    sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
    WSAAsyncSelect (sock, hwnd, WM_SOCKET_NOTIFY,  FD_CONNECT | FD_READ | FD_WRITE));
    addr.sin_family = AF_INET;
    addr.sin_port = htons("e ovdje nemam pojma sta da stavim, mozda 21 FTP ???");
    addr.sin_addr.S_un.S_addr = inet_addr(hostip);
    connect(sock, (SOCKADDR*) &addr, sizeof(addr));
    return TRUE;

E ovdje sam dakle izbacio sve provjere, kako bi vam bio pregledniji kod.
A na ovaj nacin uzimam svoju ip adresu:
Code:
version = MAKEWORD(2, 0);
        WSAStartup(version, &wsaData);
        gethostname(hostname, 256);
        host = gethostbyname(hostname);
        strcpy(hostname, host->h_name);
        hostip = inet_ntoa(*((in_addr*)host->h_addr));
        MessageBox(NULL, hostname, NULL, NULL);
        MessageBox(NULL, hostip, NULL, NULL);
        WSACleanup();

a evo i svih deklaracija:
Code:
static WSADATA wsaData;
static SOCKET sock;
static SOCKADDR_IN addr;
static char received[100];
static unsigned long ulTime;
static DWORD wEvent, wError;
static HOSTENT *host;
static char hostname[256];
static char *hostip;
static WORD version;
#define WM_SOCKET_NOTIFY (WM_USER + 1)

E sada prvo pitanje je dali je sve ovo ok, dakle dali ima nekih slabih tacaka isl. Jer recimo meni se ova konekcija cini da ne funkcionise kako treba.
Jel ja mogu ostvariti direktnu vezu izmedju ove dvije aplikacije ili sve to mora da ide preko nekod predodredjenog servera, i ono sto i treba je kako da
konfigurisem SOCKADDR_IN, prije svega koji port ?
E dalje kako da posaljem/primim podatke, znaci samo funkcije koje su poterbne za server, a koje za klijent, a ako nekoga ne mrzi moze i primjer, sto bi naravno bilo najbolje.
Znaci server se prvo konektuje na gore spomenuti nacin i na neki xxx port i zatim salje recimo neki buffer tom racunaru na koji se konektovao(u ovom slucaju to je isti racunar, primjer kod), i dalje dali se dakle klijent treba konektovati na isti nacin na server, pa onda vrsi primanje poslatih podataka, tj dali je potrebna uzajamna konekcija il' jednostavno ide neka notifikacija kod klijenta da su mu proslijedjeni neki podatci i dali zeli da ih primi (primjer kod).
Hvala jos jedom, pozdrav svima.
 
Odgovor na temu

sucur
Miljan Sucur
Web developer
Istocno Sarajevo

Član broj: 50035
Poruke: 411
*.telekomsrpske.com.



+1 Profil

icon Re: WinSock progamiranje ...11.05.2006. u 15:25 - pre 219 meseci
Nista narode, snasao sam se ;-)
 
Odgovor na temu

[es] :: C/C++ programiranje :: WinSock progamiranje ...

[ Pregleda: 1392 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.