Hello Dave,

Thanx  for  this  long  answer,  I  am already aware of all the way it
"should"  be  done,  but  I  have  to work on a very old client/server
project  for  which  the  sources has been lost, so I need to keep the
same  way  it  actually  works and do the patch thru a proxy that will
emulate the original server way of managing it's UDP protocol.

Neverless, I found a workaround.

Regards.

DB> Unless you are using an existing known protocol, in which case you'd
DB> idealy use one of the recognised existing port numbers....   Port 80,
DB> 8008, 8080 for an HTTP server for example.

DB> Letting the system pick a random port to listen on as a server is a bit
DB> unproductive, as how would you inform any likely clients (not on the
DB> same machine) what server port to connect to?...

DB> Best I think to pick a specific port number to start with for the server
DB> to create and listen on, and then let the clients pick a unused port for
DB> them to talk with, to "connect" to your server that is listnening on a
DB> known port.   (UDP is a "connectionless" protocol of course)

DB> It is posible to use the same port number to talk and listen on, but not
DB> generaly on the same physical machine for both a client and server,
DB> something has to be different between them, either the IP address, or
DB> port number (or both)   Or, the system hasn't a clue as to who what
DB> where etc...

DB> I guess you could define another localhost address, 127.0.0.2 for
DB> example perhaps?  AFIK there is no reason why a single machine can't
DB> have multiple "local loopback" addresses.  Unless someone else knows
DB> different.  Then you could use the same "Port" number for both client
DB> and server, with care...

DB> Check out...
DB> http://www.iana.org/assignments/port-numbers

DB> For typical known port numbers, some may be of use, many are worth
DB> avoiding!  (to keep script kiddies away, and to avoid strange connect
DB> requests)...

DB> Note, that ports in the range of...
DB> 49152 through 65535 are avaialable for "Private or Dynamic" port
DB> assignments.   You can use any of them for anything, and being way up
DB> there in "High Port Land" should be well out of the way of any malicious
DB> port scanners looking for something to play with....

DB> Hope something helps..

DB> Cheers.

DB> Dave B.

 

>> -----Original Message-----
>> From: Dod [mailto:[EMAIL PROTECTED] 
>> Sent: Thursday, March 06, 2008 2:48 PM
>> To: ICS support mailing
>> Subject: [twsocket] Problem using same UDP port for both 
>> listen and send
>> 
>> Hello,
>> 
>> I am working on something like :
>> 
>> -  Create Server UDP socket port 0 - Winsock select the 
>> listening port itself
>> 
>> - I retrieve port number using GetSockName/.sin_port
>> 
>> - The Socket server is now listening
>> 
>> -  I  create  a  Socket  client  to connect to other machine 
>> but I set LocalPort  with  same  socket  number  as  the one 
>> retrieved by server socket
>> 
>> - I .Connect the client to other machine and .Send the data
>> 
>> All works fine on XP but the final program must run on NT4 
>> and if I do this I get WSAEADDRINUSE ( 10048 ) Address already in use.
>> 
>> If i set LocalPort to 0 before .Connect then all is fine of course.
>> 
>> Any idea why NT4 cannot not set localport for UDP sending 
>> with same number as port used by a server socket ? May be an 
>> old NT4 Winsock limitation ?
>> 
>> I know NT4 is old but I have to work on a very old server 
>> that can't be upgraded. May be some of you remember such limitation ?
>> 
>> Regards.
>> 
>> 
>> 
DB> This mail has been scanned by Palmer Cook Computer Services Limited.  
www.palmercook.co.uk

-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be

Reply via email to