pnet通信从win64到win32。

时间:2022-09-01 11:09:20

I use the pnet tcp/udp toolbox) along with psychtoolbox to communicate between two instances of matlab in different machines. One of my machines is a 32 bit win7 running matlab 2010b. The other is a 64 bit win 7 running matlab 2012a. I have a problem in transferring data from one computer to the other.

我使用pnet tcp/udp工具箱)和psychtoolbox一起在不同机器上的两个matlab实例之间进行通信。我的一台机器是一台32位的win7运行的matlab 2010b。另一个是64位的win 7运行matlab 2012a。我在把数据从一台计算机传输到另一台计算机上有问题。

Experiment 1: Run the udp_send_demo from the 64 bit computer while running the udp_plotter_demo from the 32 bit computer. Expected result: 32 bit computer plots data, waits for keyboard input. If Kb input, close figure and end demo. 64 bit finishes sending and stops demo. Actual result: 64 bit behaves as it should. 32 bit computer plots but hangs and refuses to close the demo. It does not respond to any keyboard input and has to be force closed.

实验1:在运行32位计算机的udp_plotter_demo时,从64位计算机运行udp_send_demo。预期结果:32位计算机绘图数据,等待键盘输入。如果是Kb输入,关闭图形和结束演示。64位完成发送和停止演示。实际结果:64位的行为是应该的。32位计算机绘图,但挂起并拒绝关闭演示。它不响应任何键盘输入,必须强制关闭。

Experiment 2: Run above experiment in reverse with 32 bit sending and 64 bit reading. Expected result: 64 bit plots and waits for Keyboard input. If kb input found, stop demo. Actual result the 64 bit matlab crashes claiming a segmentation violation in the mex file. It displays a stack trace (I am appending a part of it at the end).

实验2:用32位发送和64位读取反向运行上述实验。预期结果:64位图,等待键盘输入。如果发现了kb的输入,停止演示。实际的结果是64位的matlab崩溃,声称在mex文件中有一个分割的违反。它显示一个堆栈跟踪(我将在最后添加一部分)。

Playing around with the port numbers makes no difference. Recompiling the 'pnet.c' source file instead of using the precompiled mex makes no difference. Question: Has anybody tried something like this? Did you get it to work? Can you suggest things to try to get this to work without having to install 32 bit matlab in my Win64 computer?

使用端口号进行操作并没有什么区别。重新编译的pnet。c'源文件而不是使用预编译的mex是没有区别的。有人试过这种方法吗?你工作了吗?你能建议在我的Win64计算机中不安装32位的matlab程序来实现这个工作吗?

============

= = = = = = = = = = = =

Code:

代码:

SERVER SIDE:

服务器端:

udp_send_demo('sin(0:0.1:6)',clientIPStr,portToListen)

CLIENT SIDE:

客户端:

udp_plotter_demo(portToListen)

=============

= = = = = = = = = = = = =

Stack Trace

堆栈跟踪


Segmentation violation detected at Sat Sep 29 16:41:11 2012

Configuration:

配置:

Crash Decoding : Disabled

崩溃解码:禁用

Default Encoding: windows-1252

默认编码:windows - 1252

MATLAB Root : C:\Program Files\MATLAB\R2012a

MATLAB根:C:\Program Files\MATLAB\R2012a

MATLAB Version : 7.14.0.739 (R2012a)

MATLAB版本:7.14.0.739 (R2012a)

Operating System: Microsoft Windows 7

操作系统:微软Windows 7。

Processor ID : x86 Family 6 Model 58 Stepping 9, GenuineIntel

处理器ID: x86家族6型58步,GenuineIntel。

Virtual Machine : Java 1.6.0_17-b04 with Sun Microsystems Inc. Java HotSpot(TM) 64-Bit Server VM mixed mode

虚拟机:Java 1.6.0_17-b04与Sun Microsystems Inc. Java HotSpot(TM) 64位服务器VM混合模式。

Window System : Version 6.1 (Build 7601: Service Pack 1)

窗口系统:版本6.1(构建7601:Service Pack 1)

Fault Count: 1

故障数:1

Abnormal termination: Segmentation violation

异常终止:细分违反

Register State (from fault): RAX = 0000000000000000 RBX = 0000000000000000

注册状态(from fault): RAX = 0000000000000000 RBX = 0000000000000000。

RCX = 000000005d0df7d7 RDX = 0000000000000001

RCX = 000000005df7d7 RDX = 0000000000000001。

RSP = 00000000040671b0 RBP = 0000000004067289

RSP = 00000000040671b0 = 0000000004067289。

RSI = 000000000000003d RDI = 000000000000003d

RSI = 00000000003d RDI = 000000000000003d。

R8 = 000000005d0df7d6 R9 = 000050490ee40167

R8 = 000000005df7d6 R9 = 000050490ee40167。

R10 = 000000000000003d R11 = 0000000000000000

R10 = 000000000000003d R11 = 0000000000000000。

R12 = 0000000000000008 R13 = 000007fefb997678

R12 = 0000000000000008 R13 = 000007feb997678。

R14 = 0000000000000002 R15 = 0000000000000002

R14 = 0000000000000002 R15 = 0000000000000002。

RIP = 000007fefb99238a EFL = 00010202

p = 000007fefb99238a。

CS = 0033 FS = 0053 GS = 002b

CS = 0033 FS = 0053 GS = 002b。

Stack Trace (from fault):

堆栈跟踪(断层):

[ 0] 0x000007fefb99238a C:\Users\ephys-data\Desktop\temp\tcp_udp_ip\pnet.mexw64+00009098 ( perror+004298 )

[0]0 x000007fefb99238a C:\Users\ephys-data\Desktop\temp\tcp_udp_ip\pnet.mexw64 + 004298(perror + 004298)

[ 1] 0x000007fefb99389b C:\Users\ephys-data\Desktop\temp\tcp_udp_ip\pnet.mexw64+00014491 ( mexFunction+001979 )

[1]0 x000007fefb99389b C:\Users\ephys-data\Desktop\temp\tcp_udp_ip\pnet.mexw64 + 001979(mexFunction + 001979)

[ 2] 0x0000000074f10f63 C:\Program Files\MATLAB\R2012a\bin\win64\libmex.dll+00069475 ( mexRunMexFile+000131 )

[2]0x0000000074f10f63 c:)dll + 000131(mexRunMexFile + 000131)

[ 3] 0x0000000074f0fce2 C:\Program Files\MATLAB\R2012a\bin\win64\libmex.dll+00064738 ( inSwapMexfileReader+000226 )

[3]0 x0000000074f0fce2 C:\Program Files\MATLAB\R2012a\bin\win64\libmex.dll + 000226(inSwapMexfileReader + 000226)

[ 4] 0x0000000074f0fe58 C:\Program Files\MATLAB\R2012a\bin\win64\libmex.dll+00065112 ( inSwapMexfileReader+000600 )

[4]0 x0000000074f0fe58 C:\Program Files\MATLAB\R2012a\bin\win64\libmex.dll + 000600(inSwapMexfileReader + 000600)

[ 5] 0x0000000074e4b046 C:\Program Files\MATLAB\R2012a\bin\win64\m_dispatcher.dll+00045126 ( Mfh_file::dispatch_fh+000486 )

[5]0x0000000074e4b046 c:)dll + 00045126(Mfh_file::dispatch_fh + 000486)

....more stuff....

....更多的东西....

This error was detected while a MEX-file was running. If the MEX-file is not an official MathWorks function, please examine its source code for errors. Please consult the External Interfaces Guide for information on debugging MEX-files.

这个错误是在一个墨西哥文件正在运行的时候被检测到的。如果美墨文件不是官方的MathWorks函数,请检查它的源代码是否有错误。请参阅外部接口指南以获取关于调试美墨文件的信息。

If this problem is reproducible, please submit a Service Request via:....

如果这个问题是可再生的,请提交服务请求通过:....

A technical support engineer might contact you with further information.

技术支持工程师可能会向你提供进一步的信息。

Thank you for your help.

谢谢你的帮助。


Thanks

谢谢

-b

- b

1 个解决方案

#1


1  

I wrote the helpful folks at psychtoolbox. Apparently the bug was caught and resolved in the 'beta' version of psychtoolbox. If you have the latest and greatest psychtoolbox, run UpdatePsychtoolbox for a good night's sleep. See here

我在心理工具箱里写了一些有用的人。显然,这个bug是在“测试版”的心理工具箱中被发现并解决的。如果您有最新的和最伟大的心理工具箱,运行UpdatePsychtoolbox,以获得良好的睡眠。在这里看到的

#1


1  

I wrote the helpful folks at psychtoolbox. Apparently the bug was caught and resolved in the 'beta' version of psychtoolbox. If you have the latest and greatest psychtoolbox, run UpdatePsychtoolbox for a good night's sleep. See here

我在心理工具箱里写了一些有用的人。显然,这个bug是在“测试版”的心理工具箱中被发现并解决的。如果您有最新的和最伟大的心理工具箱,运行UpdatePsychtoolbox,以获得良好的睡眠。在这里看到的