![]() |
Hej och välkommen från USA till UNIX och Linux Forum! Tack för ditt besök och gå med i vår globala gemenskapen.
|
|
google unix.com
|
|||||||
| Forum | Registrera | Forum Regler | Länkar | Album | FAQ | Medlemslista | Kalender | Söka | Dagens inlägg | Markera forum som lästa |
| UNIX för avancerade & Expertanvändare Expert-to-experten. Läs avancerade UNIX UNIX-kommandon, Linux operativsystem, systemadministration, programmering, Shell, Shell Scripts, Solaris, Linux, HP-UX, AIX, OS X, BSD. |
Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Senaste Inlägg |
| nätverks-och broadcast-adressen | scofiled83 | Shell-programmering och Skript | 4 | 11-09-2008 08:55 |
| broadcast | SEB | UNIX Desktop for Dummies Frågor & Svar | 1 | 07-08-2003 10:40 |
| Broadcast IP-adress | PBNOSGT | IP Nätverk | 4 | 03-11-2002 09:43 |
| sända e-post?? | solvman | UNIX for Dummies Frågor & Svar | 1 | 10-08-2001 11:20 |
| broadcast-adressen | 98_1LE | IP Nätverk | 1 | 02-06-2001 02:54 |
![]() |
|
|
LinkBack | Thread Tools | Sök i denna tråd | Rate Thread | Visningslägen |
|
|
|
||||
|
Jag använder FreeBSD7.0, jag vill använda UDP-broadcast, är min kod följande:
/ * udpcli01.c * / int viktigaste (int argc, char ** argv) ( int sockfd; struct sockaddr_in servaddr; if (argc! \u003d 2) err_quit ( "usage: udpcli <ipaddress>"); bzero (& servaddr, sizeof (servaddr)); servaddr.sin_family \u003d AF_INET; servaddr.sin_port \u003d htons (13); inet_pton (AF_INET, argv [1], & servaddr.sin_addr); sockfd \u003d Socket (AF_INET, SOCK_DGRAM, 0); dg_cli (stdin, sockfd, (SA *) & servaddr, sizeof (servaddr)); exit (0); ) / * dg_cli.c * / void dg_cli (FILE * fp, int sockfd, const SA * pservaddr, socklen_t servlen) ( int n; char sendline [maxline], recvline [maxline + 1]; while (fgets (sendline, maxline, fp)! \u003d NULL) ( SendTo (sockfd, sendline, strlen (sendline), 0, pservaddr, servlen); n \u003d Recvfrom (sockfd, recvline, maxline, 0, NULL, NULL); recvline [n] \u003d 0; / * null avsluta * / fputs (recvline, stdout); ) ) När jag kör ovanstående kod är 10.1.2.255 broadcast-adress, och mata in en linje, som följande: $ ./udpcli01 10.1.2.255 Hej Det skulle få många maskin svar, men jag inte får något meddelande! Om jag pinga 10.1.2.255, kan jag ta emot många budskap maskin svar, varför min kod inte kan ta emot meddelandet? Hur kan jag ändra ovan kod för att ta emot meddelandet? Tack på förhand! |