The demo I am referring to is the ICS NetFind component by Sven Schmidts in the 
"user made" section of the overbyte website.  It seemed ideal for what I needed 
except rather than one machine find multiple PC's, I would use it for multiple 
PC's to find one.  Sadly, it uses a dynamic array structure that is 
incompatible with Delphi 2 which is what the server part is currently developed 
under.  I used it, therefore, as a reference to develop what I needed.

The demo component used as the broadcast address which is why I 
did.  I will try using a more specific address and see if it helps.

The server is listening on on port 9183.  No, I am not using SendTo as 
I use the same method as NetFind.

When I read the documentation on SendTo, it seemed to infer that I know the 
recipient when, if it is the client part, I don't.  Have I misunderstood?

If there is a better method of achieving what I am after then I am all ears.  I 
only used the NetFind component as a basis because I didn't know how to do it 



-----Original Message-----
Behalf Of Marcello Vezzelli
Sent: 19 December 2005 17:47
To: ICS support mailing
Subject: Re: [twsocket] Finding my server using UDP

Lord, Chris wrote:
> I want some client software I am writing to be able to determine if my server 
> software is up and running and if so the IP address of the server machine to 
> save the user having to set up IP addresses and so on.  Having looked at a 
> demo for doing exactly what I need, I set up  a UDP socket server on the 
> server software in listen mode and a TWSocket in listen mode on the client.  
> I set both of them to UDP and to port 9183.  On the client, I then create a 
> temporary TWSocket component and broadcast to a short message 
> as the demo does.  The message is about 20 bytes long. is not a good idea I think.
You should use the broadcast address of your subnet.., or whatever, depending on your subnet mask.

> Now, the problem appears to be that it seems a little hit and miss.  
> Sometimes the server sees the client and responds correctly and sometimes it 
> doesn't.  I wondered if the packets were being received OK (as UDP can split 
> packets and so on) 

a 20 bytes long packet never get splitted, it's far beyond MTU.

so I downloaded a packet sniffer and ran it both on the client and server 
machines.  I am certain from this that the client machine is sending out the 
broadcast.  I can also see that the server has received the broadcast 
message and it is complete in 1 packet.  However, the DataAvailable function 
doesn't seem to get called and I am now at a loss as to why.  Have I missed 
something obvious?

What's the demo you're referring to?
Try to make UDP server listen on port 9183.
UDP client sends the broadcast packet to broadcast address (are you using 

Marcello Vezzelli
Software Development Department
E-Works s.r.l.
tel. +39 059 2929081
fax +39 059 2925035
Direzionale 70 - Via Giardini 456/c
41100 Modena - Italy

La presente comunicazione, che potrebbe contenere informazioni riservate e/o 
protette da segreto professionale, è indirizzata esclusivamente ai 
destinatari della medesima qui indicati. Le opinioni, le conclusioni e le 
altre informazioni qui contenute, che non siano relative alla nostra 
attività caratteristica, devono essere considerate come non inviate né 
avvalorate da noi. Tutti i pareri e le informazioni qui contenuti sono 
soggetti ai termini ed alle condizioni previsti dagli accordi che regolano 
il nostro rapporto con il cliente. Nel caso in cui abbiate ricevuto per 
errore la presente comunicazione, vogliate cortesemente darcene immediata 
notizia, rispondendo a questo stesso indirizzo di e-mail, e poi procedere 
alla cancellazione di questo messaggio dal Vostro sistema. E' strettamente 
proibito e potrebbe essere fonte di violazione di legge qualsiasi uso, 
comunicazione, copia o diffusione dei contenuti di questa comunicazione da 
parte di chi la abbia ricevuta per errore o in violazione degli scopi della 
This communication, that may contain confidential and/or legally privileged 
information, is intended solely for the use of the intended addressees. 
Opinions, conclusions and other information contained in this message, that 
do not relate to the official business of this firm, shall be considered as 
not given or endorsed by it. Every opinion or advice contained in this 
communication is subject to the terms and conditions provided by the 
agreement governing the engagement with such a client. If you have received 
this communication in error, please notify us immediately by responding to 
this email and then delete it from your system. Any use, disclosure, copying 
or distribution of the contents of this communication by a not-intended 
recipient or in violation of the purposes of this communication is strictly 
prohibited and may be unlawful.
To unsubscribe or change your settings for TWSocket mailing list
please goto
Visit our website at

To unsubscribe or change your settings for TWSocket mailing list
please goto
Visit our website at

Reply via email to