lemankk / as3openni

Automatically exported from code.google.com/p/as3openni
0 stars 0 forks source link

Socket error...? #7

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Hi,

This seems a really cool project, and thank you for your effort.
I think I followed your instruction, but I cannot run any of your examples on 
my windowsXP.

I just captured the debuging window message while I was running NI2Hands 
example, as follows.

[SWF] NI2Hands.swf - 1,669,605 bytes after decompression
Info (AS3OpenNI :: Alpha 1.3.0)
AS3OpenNI :: NITE Session Socket - Bound to: 127.0.0.1:9501
AS3OpenNI :: Capture Socket Error

Software I used:
Flex Builder 4.5
Visual Studio 10.

I ran c-based socket programs (client/server) with the same port-numbers, and 
there is no problem to run socket programs.

NITE samples work well with Kinect.

I really appreciate if you advise me on this.
Thanks!

Kim.

Original issue reported on code.google.com by hockeygi...@gmail.com on 14 Jun 2011 at 6:10

GoogleCodeExporter commented 9 years ago
Kim-

It looks like the connection wasn't given enough time to connect to the capture 
socket. Is the Kinect's green light blinking? If you bump up the waitTime to a 
higher number that might help. AS3 Syntax: this._as3OpenNI.waitTime = 10; That 
will add more time to the delay in place before connecting to the capture 
socket. On Windows XP, it may run slower, but it should work. I tested it on 
Windows 7, so it may run a little slower for you.

AMB

Original comment by mosaic...@gmail.com on 14 Jun 2011 at 7:09

GoogleCodeExporter commented 9 years ago
Hi,
Thank you for your quick response.
Yes, the Kinect's green light is blinking.
I put the statement as follows,

...
this._as3OpenNI.waitTime = 10; //Just right before "init()"
this._as3OpenNI.init();
...
Unfortunately, it didn't work. I tried to change the value from 10 to 40, but 
I've got the same error...

Is there any other issue related to Flash Builder 4.5 ? This is my first time 
on socket application with Flex, so I'm not sure what would cause the problem...

Please hele me on this...

Kim

Original comment by hockeygi...@gmail.com on 14 Jun 2011 at 8:26

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
I recompiled VC project and got a little different error as follows,

INFO: Viewport autoScaleToStage : Papervision has changed the Stage scale mode. 
Info (AS3OpenNI :: Alpha 1.3.0)
AS3OpenNI :: NITE Session Socket - Bound to: 127.0.0.1:9501
AS3OpenNI :: NITE Session Socket - Connection from: 127.0.0.1:4483
AS3OpenNI :: DepthMapCapture feature turned on

AS3OpenNI :: UserTracking feature turned on

AS3OpenNI :: Getaddrinfo succeeded on session socket server: 0 (port:9501)

AS3OpenNI :: Getaddrinfo succeeded on tracking socket server: 0 (port:9503)

Unable to connect to user tracking server!

AS3OpenNI :: AS3OpenNI :: Create hands generator failed: Can't create any node 
of the requested type!

AS3OpenNI :: Capture Socket Error

Any other suggestion?

Thank you!
Kim

Original comment by hockeygi...@gmail.com on 17 Jun 2011 at 5:34

GoogleCodeExporter commented 9 years ago
I fixed this problem...
Somehow, it was related to context initialization.

Here is what I did.

In the original cpp source code, I simply replaced /*A A*/ part with the /*B 
B*/.

/*A
    // Context Init and Add license.
    _status = _context.Init();
    CHECK_RC(_status, "AS3OpenNI :: Initialize context");
    _context.SetGlobalMirror(_mirror);

    XnChar vendor[XN_MAX_NAME_LENGTH];
    XnChar license[XN_MAX_LICENSE_LENGTH];

    _license.strVendor[XN_MAX_NAME_LENGTH] = strcmp(vendor, "PrimeSense");
    _license.strKey[XN_MAX_LICENSE_LENGTH] = strcmp(license, "0KOIk2JeIBYClPWVnMoRKn5cdY4=");

    _status = _context.AddLicense(_license);
    CHECK_RC(_status, "AS3OpenNI :: Added license");

    // Set it to VGA maps at 30 FPS
    _depthMode.nXRes = 640;
    _depthMode.nYRes = 480;
    _depthMode.nFPS = 30;

A*/

/*B
    // Initialize OpenNI
    _status = _context.InitFromXmlFile(SAMPLE_XML_PATH, &_errors);
    CHECK_ERRORS(_status, _errors, "InitFromXmlFile");
    CHECK_RC(_status, "InitFromXmlFile");
B*/

I used the original xml file of the NITE installation.

It works fine although there are some memory leak issues that I can figure out.

Anyway, this project would be really helpful for me to design more complex 
gestures.
Thanks!

Kim.

Original comment by hockeygi...@gmail.com on 20 Jun 2011 at 7:52

GoogleCodeExporter commented 9 years ago
Kim,

I'm currently running into the same issue on OSX 10.6. I'd love to try your 
solution but it seems that the make files that accompany the source code are 
broken. Simply running "make" from the command line results in a ton of errors. 
Also, it would seem that by removing those lines of code you would no longer 
have access to the PrimeSense api. Is this the case?

Brady

Original comment by pbradyge...@gmail.com on 27 Jun 2011 at 12:18

GoogleCodeExporter commented 9 years ago
Hi Brday,

I didn't just remove the lines.
The block /*A A*/ can be replaced with the block /*B B*/ only if you have the 
xml file and you define its path as follows,

#define SAMPLE_XML_PATH "c:\\Sample-TrackingUser.xml".

Or, just use one statement

_status = _context.InitFromXmlFile("c:\\Sample-TrackingUser.xml", &_errors);

The xml file should define all variales in the block /*B B*/.

Hope this helps...

Kim.

Original comment by hockeygi...@gmail.com on 27 Jun 2011 at 6:31

GoogleCodeExporter commented 9 years ago
Hi

I am on Mac 10.6.7, Air 2.7 SDK, Flex 4.5 SDK.

When I try and compile any of the AS3 files I get:
AS3OpenNI :: Capture Socket Error

So I tried to make the AS3OpenNI_Alpha_1.3.0, even without changing any code 
and get this error:

main.cpp:1178: error: invalid conversion from ‘void (*)(XnFloat, void*)’ to 
‘void (*)(XnUInt32, XnFloat, void*)’
main.cpp:1178: error:   initializing argument 2 of ‘void* 
XnVSteadyDetector::RegisterSteady(void*, void (*)(XnUInt32, XnFloat, void*))’
main.cpp: In function ‘int main(int, char**)’:
main.cpp:1178: error: invalid conversion from ‘void (*)(XnFloat, void*)’ to 
‘void (*)(XnUInt32, XnFloat, void*)’
main.cpp:1178: error:   initializing argument 2 of ‘void* 
XnVSteadyDetector::RegisterSteady(void*, void (*)(XnUInt32, XnFloat, void*))’
lipo: can't figure out the architecture type of: /var/tmp//cctDdSgo.out
make: *** [Release/main.o] Error 1

Any ideas?

Thanks

Max

Original comment by maxalien...@gmail.com on 28 Jun 2011 at 11:27

GoogleCodeExporter commented 9 years ago
Hey Max-

If you change line 747, to this "void XN_CALLBACK_TYPE Steady_OnSteady(XnUInt32 
nId, XnFloat fVelocity, void* cxt)", it should then compile, keep in mind 
v1.3.0 was still compiled under an older version of both the OpenNI 1.1.0.25 
and NITE 1.3.0.18 frameworks, which are now hard to find for the Mac. The 
reason I haven't updated to the latest is due to all the USB bugs I was 
receiving on my Mac. But hopefully it will work better for you. Please let me 
know what you find out.

AMB

Original comment by mosaic...@gmail.com on 28 Jun 2011 at 7:20

GoogleCodeExporter commented 9 years ago
Thanks a lot, that worked.

I'll let you know how I get on.

Original comment by maxalien...@gmail.com on 30 Jun 2011 at 10:09

GoogleCodeExporter commented 9 years ago
Hi,

I am having the same issue. 

AS3OpenNI :: NITE Session Socket - Bound to: 127.0.0.1:9501
AS3OpenNI :: Capture Socket Error

I running it in windows 7x64 with  OpenNI 1.1.0.35 and NITE 1.3.1

I've tried re-compiling the C++ source and tried using Sample-Tracking.xml 
Sample-User.xml but no luck. 

I've been able to run OpenKinect as3-server without issue.

Any help would be appreciated.

Original comment by philip.andrews@gmail.com on 12 Jul 2011 at 6:36

GoogleCodeExporter commented 9 years ago
Hey AMB, I'm currently trying to use the solution outlined in Comment 9 but I'm 
getting the following errors:

main.cpp
main.cpp(25): fatal error C1083: Cannot open include file: 'XnOpenNI.h': No 
such file or directory
  network.cpp
c:\users\desktop\as3openni\src\network.h(1): fatal error C1083: Cannot open 
include file: 'XnTypes.h': No such file or directory
  params.cpp
c:\users\desktop\as3openni\src\params.h(4): fatal error C1083: Cannot open 
include file: 'XnTypes.h': No such file or directory
  setup_sockets.cpp
c:\users\desktop\as3openni\src\setup_sockets.h(4): fatal error C1083: Cannot 
open include file: 'XnTypes.h': No such file or directory
  skeletons_string.cpp
c:\users\desktop\as3openni\src\skeletons_string.h(4): fatal error C1083: Cannot 
open include file: 'XnOpenNI.h': No such file or directory
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

I'm using AS3OpenNI source version 1.3.0. Any idea why this may be complaining 
about missing header files?

Cheers,
Gaston

Original comment by gastonra...@gmail.com on 26 Aug 2011 at 9:08

GoogleCodeExporter commented 9 years ago
Hello,

Same issue here on Mac Os 10.6.8.

[SWF] FAASTExample.swf - 2,023,990 bytes after decompression
INFO: Papervision3D 2.0.0 (March 12th, 2009)
INFO: Viewport autoScaleToStage : Papervision has changed the Stage scale mode. 
Info (AS3OpenNI :: Alpha 1.3.2)
AS3OpenNI :: NITE Session Socket - Bound to: 127.0.0.1:9501
AS3OpenNI :: OPENNI User Tracking Socket - Bound to: 127.0.0.1:9503
AS3OpenNI :: Capture Socket Error

NITE examples are running. I am using:
FB 4.6
AIR 3.1
openni-bin-macosx-v1.3.4.3
SensorKinect-Bin-MacOSX-v5.0.3.4
nite-bin-macosx-v1.4.2.4

Cheers,

J.

Original comment by jerome.m...@gmail.com on 21 Oct 2011 at 10:45

GoogleCodeExporter commented 9 years ago
Does anyone have a fix or work around for this issue?

Original comment by jerome.m...@gmail.com on 8 Nov 2011 at 9:32