UDP, pakiety i laczenie

0

Hej moj problem jest nastepujacy napisalem program UDP. Ze strony http://keeller.kompozytor.net/ . Oto ponizsze kody programu:

#include <conio.h>
#include <winsock2.h>
#pragma hdrstop

//---------------------------------------------------------------------------
// PROGRAM KLIENT UDP
//---------------------------------------------------------------------------
#pragma argsused
int main()
{
WSADATA WSD;
WSAStartup( MAKEWORD( 2 , 0 ) , &WSD);
SOCKET sock;
sock = socket( AF_INET, SOCK_DGRAM, IPPROTO_UDP );
int opt=4096;

setsockopt( sock, SOL_SOCKET, SO_SNDBUF,
(char*)&opt, sizeof( opt ) );
setsockopt( sock, SOL_SOCKET, SO_RCVBUF,
(char*)&opt, sizeof( opt ) );
bool bopt = true;

setsockopt( sock, SOL_SOCKET, SO_BROADCAST,
(char*)&bopt, sizeof( bopt ) );
setsockopt( sock, SOL_SOCKET, SO_DONTLINGER,
(char*)&bopt, sizeof( bopt ) );
sockaddr_in Addr;

Addr.sin_family = AF_INET;
Addr.sin_port = htons(3000);
Addr.sin_addr.S_un.S_addr = htonl( ADDR_ANY );

memset( Addr.sin_zero , 0, 8 );
bind( sock, (sockaddr*)&Addr, sizeof( sockaddr ) );
Addr.sin_port=htons(3000);
Addr.sin_addr.S_un.S_addr = inet_addr("192.168.233.36");
sendto( sock, dziala??", 6, 0,
(sockaddr*)&Addr, sizeof( sockaddr ) );
WSACleanup();
return 0;
}

#include <iostream.h>
#include <conio.h>
#include <winsock2.h>

//---------------------------------------------------------------------------
// PROGRAM SERWER UDP
//---------------------------------------------------------------------------

int main()
{
WSADATA WSD;
WSAStartup( MAKEWORD( 2 , 0 ) , &WSD);
SOCKET sock;
sock = socket( AF_INET, SOCK_DGRAM, IPPROTO_UDP );
int opt=4096;

setsockopt( sock, SOL_SOCKET, SO_SNDBUF,
(char*)&opt, sizeof( opt ) );
setsockopt( sock, SOL_SOCKET, SO_RCVBUF,
(char*)&opt, sizeof( opt ) );
bool bopt = true;

setsockopt( sock, SOL_SOCKET, SO_BROADCAST,
(char*)&bopt, sizeof( bopt ) );
setsockopt( sock, SOL_SOCKET, SO_DONTLINGER,
(char*)&bopt, sizeof( bopt ) );
sockaddr_in Addr;

Addr.sin_family = AF_INET; // PF_INET
Addr.sin_port = htons(3000);
Addr.sin_addr.S_un.S_addr = htonl( ADDR_ANY );
// zerujemy resztę struktury
memset( Addr.sin_zero , 0, 8 );
bind( sock, (sockaddr*)&Addr, sizeof( sockaddr ) );
Addr.sin_port=htons(3000);
Addr.sin_addr.S_un.S_addr = inet_addr("172.17.0.213");

char buf[1024];
int s;

fd_set fdsecik;
timeval timevalik;
fdsecik.fd_array[0]=sock;
fdsecik.fd_count=1;
timevalik.tv_sec=1;
select( 0, &fdsecik, NULL, NULL, &timevalik );

recvfrom( sock, buf, 1024, 0, (sockaddr*)&Addr, &s );
cout << buf;
getch();
WSACleanup();
return 0;
}

Wydaje mi sie ze program te sa poprawnie napisane. I gdy odpalam snifera nic mi sie nie pokazuje a zeby klient cos wyslal. W czym moze tkwic problem?? Czy mozecie polecic innym program niz Sniffer??

0

Pare razy byl poruszny ten watek ale jakos nie umieli odpowiedziec na te pytania z UDP. Musisz chyba poszukac gdzies indziej pomocy. albo czekac moze ktos odpisz.

0

Kolejny schizofrenik:
Pierwszy post pisany z:
193.178.243.xx (aaa.sdc.pl, 192.168.233.36) Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
Drugi:
193.178.243.xx (aaa.sdc.pl, 192.168.233.36) Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)

1 użytkowników online, w tym zalogowanych: 0, gości: 1