• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: UDP Sockets & Clock Synchronization
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: UDP Sockets & Clock Synchronization


  • Subject: Re: UDP Sockets & Clock Synchronization
  • From: Vincent Lubet <email@hidden>
  • Date: Wed, 27 Feb 2002 23:05:02 -0800

My idea was for Zack to simply spawn a separate network thread whose sole purpose is to block waiting the reception of those UDP packets.

This is pretty close to the concept of OT notifiers and there shouldn't be any noticeable latency -- the ping tool gets sub-microseconds timings.

Vincent

On Tuesday, February 26, 2002, at 12:46 PM, Peter Sichel wrote:

Blocking on recv() is no better than select(). You still have to
wait for the kernel to schedule you. select() has the advantage
that you can set a time out for any operation including connect()
and you can cancel by including another socket (pipe end) you
can make readable.

In OT, your notifier was called at interrupt time.
As I understand it, BSD networking does not offer this
level of performance. The closest you can get is to capture
time stamp information from an interface filter NKE or AppKit
driver.

I'd love to hear any better ideas.

- Peter


At 9:23 AM -0800 2/26/02, Vincent Lubet wrote:
Can't you just block your thread on recv() instead of using select()?

Vincent

On Monday, February 25, 2002, at 09:44 PM, Zack Morris wrote:

Hi, I am messing with sockets on OS X and I need a way to have an
"interrupt" that fires when a UDP packet comes in. Using select() doesn't
really help, because if my game runs at 30 fps, that means I have a 33ms
uncertainty about when a packet came in (if I poll the network each time
through my main loop). I need something similar to the asynch mode of OS 9.
That's because I send out a "ping" packet (using UDP) with the current time.
Ont the other end, the server needs to see the packet come in and return a
response packet as quickly as possible to mimimize the latency. The
original computer gets that response packet and looks at the server's time
and round trip time to compute how much to change the clock by. Obviously
throwing an extra 33ms in there doesn't help! Is there a way to do this?

P.S. It would be nice if this worked with GUSI so I could have one method,
but it's not mandatory...thanx for your time,

Zack Morris
Z Sculpt Entertainment
email@hidden
http://www.zsculpt.com

-- _______________________________________________
macnetworkprog mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/macnetworkprog
Do not post admin requests to the list. They will be ignored.
_______________________________________________
macnetworkprog mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/macnetworkprog
Do not post admin requests to the list. They will be ignored.

  • Follow-Ups:
    • RE: UDP Sockets & Clock Synchronization
      • From: "Wade Williams" <email@hidden>
References: 
 >Re: UDP Sockets & Clock Synchronization (From: Peter Sichel <email@hidden>)

  • Prev by Date: Re: UDP Sockets & Clock Synchronization
  • Next by Date: RE: UDP Sockets & Clock Synchronization
  • Previous by thread: Re: UDP Sockets & Clock Synchronization
  • Next by thread: RE: UDP Sockets & Clock Synchronization
  • Index(es):
    • Date
    • Thread