The UNIX and Linux Forums  
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.

Go Back   UNIX och Linux Forum > Upp Forum > UNIX för avancerade & Expertanvändare
.
google unix.com



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

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Sök i denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 12-10-2008
konvalo konvalo is offline
Registered User
  
 

Join Date: Jan 2002
Inlägg: 20
Question Varför UDP sänds inte köra?

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!
  #2 (permalänk)  
Old 12-10-2008
fpmurphy's Avatar
fpmurphy fpmurphy is online now Forum Staff  
Moderator
  
 

Join Date: Dec 2003
Ort: Florida
Inlägg: 1.923
Håll dig borta från riktade sändningar, de är farliga. Använd 255.255.255.255 istället.

Obs 255.255.255.255 ursprungligen var avsedd att användas för att sända till varje nod på Internet. Det konstaterades snabbt vara en dålig idé och ändrades betyda "begränsad sändning" att sändas på den lokala kopplingen bara. Se RFC 1122.
  #3 (permalänk)  
Old 12-14-2008
odys odys is offline
Registered User
  
 

Join Date: februari 2005
Inlägg: 59
Hej, behöver du ställa SO_BROADCAST alternativ för uttaget med 'setsockopt "funktion.
Och du måste passande servern ska svara ...
Closed Thread

Komihåglista

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 09:15.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0