Yes, as the app developer, *you* pick a port and start connecting to the
server, which is listening to that port. You're in control of the port
number directly.

Do note that writing to the same host in multiple processes or threads does
require you to put a semaphore (or similar) to avoid accessing the same
'host' pointer by multiple threads. That is NOT handled by ENet itself
(basically consider it a re-entrant unsafe library).

Ruud

On Thu, Jul 12, 2012 at 2:57 PM, Soren Dreijer <[email protected]> wrote:

> I don’t follow. Enet is only using a single port and multiplexes all
> connections through that single port. That is, it doesn’t matter whether
> you’re communicating with one or ten remote hosts; all traffic will go
> through that one port that Enet is bound to. ****
>
> ** **
>
> **You** are in charge of choosing the port when you set up Enet (i.e.
> call enet_host_create), so I’m a little confused what the problem is. If
> you create 20 Enet instances in 20 different processes, then they’d all
> have different ports that you’ve chosen and thus know.****
>
> ** **
>
> Maybe if you described what you’re really trying to achieve, I can better
> understand. :)****
>
> ** **
>
> / Soren ****
>
> ** **
>
> *From:* [email protected] [mailto:
> [email protected]] *On Behalf Of *Siqi Shen
> *Sent:* Thursday, July 12, 2012 4:24 AM
> *To:* [email protected]
> *Subject:* Re: [ENet-discuss] How can I get the client port created in my
> client side (Soren Dreijer)****
>
> ** **
>
> Thanks for your reply. Setting port in enet_host_create is not flexible
> enough, as I may create more than 20 processes/threads.  I think that once
> a udp diagram has been setup ( sendto() function has been called), the udp
> port  in the client side is determine and it will be consistent across the
> whole application if we don't change the port manually. ****
>
> ** **
>
> As I am using Win7 64bit. I use "netstat -an -p udp -o" to get the udp
> port and process id mapping and find that the UDP port I created in my
> process through enet is consistent. And as described in MSDN ****
>
> "http://msdn.microsoft.com/en-us/library/ms740148%28VS.85%29.aspx"; that "If
> a socket is opened, a 
> *setsockopt*<http://msdn.microsoft.com/en-us/library/ms740476(v=vs.85).aspx> 
> call
> is made, and then a *sendto* call is made, Windows Sockets performs an
> implicit *bind* function call."****
>
> so we can get the port through 
> "*getsockname*<http://msdn.microsoft.com/en-us/library/ms738543(v=vs.85).aspx>
>  " function.  But I can not get the port in enet (I want to use the port
> number for debugging).  Do you have a better solution besides setting
> port manually?****
>
> ** **
>
> ** **
>
> 2012/7/11 <[email protected]>****
>
> Send ENet-discuss mailing list submissions to
>         [email protected]
>
> To subscribe or unsubscribe via the World Wide Web, visit
>         http://lists.cubik.org/mailman/listinfo/enet-discuss
> or, via email, send a message with subject or body 'help' to
>         [email protected]
>
> You can reach the person managing the list at
>         [email protected]
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of ENet-discuss digest..."
>
>
> Today's Topics:
>
>    1.  How can I get the client port created in my client       side
>       (Siqi Shen)
>    2. Re:  How can I get the client port created in my  client  side
>       (Soren Dreijer)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Wed, 11 Jul 2012 13:48:44 +0200
> From: Siqi Shen <[email protected]>
> To: [email protected]
> Subject: [ENet-discuss] How can I get the client port created in my
>         client  side
> Message-ID:
>         <
> cad6pkm0kjqwy-rf5rsebol3ru7x7c2jeyxyvrcaexd1qrec...@mail.gmail.com>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Hi All,
>
> I am developing a small game using enet as network layer. My question is
> that how can I know the port I created in my client side to connect to
> remote host. I know that I can know the client's port in server's side when
> ENET_EVENT_TYPE_CONNECT receive; but I can not get the port when I use
> enet_host_create or enet_host_connect or ENET_EVENT_TYPE_CONNECT receive in
> client's side. Anyone know how to deal with this problem?
>
> Thanks and best regards,
> Siqi
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <
> http://lists.cubik.org/pipermail/enet-discuss/attachments/20120711/c64afa88/attachment-0001.html
> >
>
> ------------------------------
>
> Message: 2
> Date: Wed, 11 Jul 2012 08:04:40 -0500
> From: "Soren Dreijer" <[email protected]>
> To: "'Discussion of the ENet library'" <[email protected]>
> Subject: Re: [ENet-discuss] How can I get the client port created in
>         my      client  side
> Message-ID: <[email protected]>
> Content-Type: text/plain; charset="us-ascii"
>
> You're using UDP and you therefore don't have separate client-side ports
> when you "connect" to a server.
>
>
>
> The port you're using on the client is the one you specified in
> enet_host_create() when you initialized enet.
>
>
>
> From: [email protected] [mailto:
> [email protected]]
> On Behalf Of Siqi Shen
> Sent: Wednesday, July 11, 2012 6:49 AM
> To: [email protected]
> Subject: [ENet-discuss] How can I get the client port created in my client
> side
>
>
>
> Hi All,
>
>
>
> I am developing a small game using enet as network layer. My question is
> that how can I know the port I created in my client side to connect to
> remote host. I know that I can know the client's port in server's side when
> ENET_EVENT_TYPE_CONNECT receive; but I can not get the port when I use
> enet_host_create or enet_host_connect or ENET_EVENT_TYPE_CONNECT receive in
> client's side. Anyone know how to deal with this problem?
>
>
>
> Thanks and best regards,
>
> Siqi
>
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <
> http://lists.cubik.org/pipermail/enet-discuss/attachments/20120711/8830cb5d/attachment-0001.html
> >
>
> ------------------------------
>
> _______________________________________________
> ENet-discuss mailing list
> [email protected]
> http://lists.cubik.org/mailman/listinfo/enet-discuss
>
>
> End of ENet-discuss Digest, Vol 109, Issue 1
> ************************************************
>
> ** **
>
> _______________________________________________
> ENet-discuss mailing list
> [email protected]
> http://lists.cubik.org/mailman/listinfo/enet-discuss
>
>
_______________________________________________
ENet-discuss mailing list
[email protected]
http://lists.cubik.org/mailman/listinfo/enet-discuss

Reply via email to