IPCSocket.IsConnected returns false after IPCSocket.Connect

Testing 2014 R2 Beta 12, I’m finding that this code works fine on Cocoa, but not on Win32:

  ipc.path="/tmp/pathxxx"
  ipc.Connect
  if ipc.IsConnected = false then
    break  // under Win32 builds, we hit this breakpoint.
   end if

The socket is connecting (as I can see by the Server socket getting the .Connected event firing). So it appears that the bug is that .IsConnected is lying to us immediately after the connection.

looks like calling IPC.poll is a workaround:

  ipc.path="/tmp/pathxxx"
  ipc.Connect
 #if targetWin32
  ipc.poll
 #endif

Submitted as <https://xojo.com/issue/34227>

Seeing the same behavior in 2014r1 and 1.1

The workaround seems solid, so I’d say this is a “would be nice to get done” issue but not a showstopper.

Should have had to do this in 2014r1 and 1.1 so not sure its even a regression

This issue is resolved in 2015r2.1?
My main app acts as a server. Even though IPC socket connection exists between main and slave(consoleapp), IsConnected value is just FALSE. ( Windows ).

If that is not resolved, where should I put the POLL code in main app? After Listen ?

Forgive an ignorant intrusion, but do you not have to give it a bit of time ie: wait for the connected EVENT? Sockets always seem to need a bit of time.

I have not tested in 2015 versions, but the point is that the behavior is different between Mac and Windows builds, and that’s unexpected. It’s always easier if the Xojo Framework behaves in a predictable and consistent way.