首页 文章

从win64到win32的pnet通信

提问于
浏览
3

我使用pnet tcp/udp toolbox)和psychtoolbox在不同机器中的两个matlab实例之间进行通信 . 我的一台机器是运行matlab 2010b的32位win7 . 另一个是运行matlab 2012a的64位win 7 . 我在将数据从一台计算机传输到另一台计算机时遇到问题 .

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

Experiment 2 :以32位发送和64位读取反向运行上述实验 . 预期结果:64位图并等待键盘输入 . 如果找到kb输入,请停止演示 . 实际结果64位matlab崩溃声称mex文件中存在分段违例 . 它显示堆栈跟踪(我在末尾附加了一部分) .

玩端口号码没什么区别 . 重新编译'pnet.c'源文件而不是使用预编译的mex没有任何区别 . Question :有人试过这样的事吗?你有没有上班?你能不能在我的Win64计算机上安装32位matlab来建议尝试使用它?

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

码:

SERVER SIDE:

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

CLIENT SIDE:

udp_plotter_demo(portToListen)

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

Stack Trace


在2012年9月29日星期六16:41:11检测到分段违规

组态:

崩溃解码:已禁用

默认编码:windows-1252

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

MATLAB版本:7.14.0.739(R2012a)

操作系统:Microsoft Windows 7

处理器ID:x86系列6型号58步进9,GenuineIntel

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

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

故障数:1

异常终止:分段违规

寄存器状态(来自故障):RAX = 0000000000000000 RBX = 0000000000000000

RCX = 000000005d0df7d7 RDX = 0000000000000001

RSP = 00000000040671b0 RBP = 0000000004067289

RSI = 000000000000003d RDI = 000000000000003d

R8 = 000000005d0df7d6 R9 = 000050490ee40167

R10 = 000000000000003d R11 = 0000000000000000

R12 = 0000000000000008 R13 = 000007fefb997678

R14 = 0000000000000002 R15 = 0000000000000002

RIP = 000007fefb99238a EFL = 00010202

CS = 0033 FS = 0053 GS = 002b

堆栈跟踪(来自故障):

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

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

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

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

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

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

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

在MEX文件运行时检测到此错误 . 如果MEX文件不是MathWorks官方函数,请检查其源代码是否有错误 . 有关调试MEX文件的信息,请参阅“外部接口指南” .

如果此问题可重现,请通过以下方式提交服务请求:....

技术支持工程师可能会与您联系以获取更多信息 .

谢谢您的帮助 .


谢谢

-b

1 回答

  • 1

    我在psychtoolbox上写了很有帮助的人 . 显然这个bug是在'beta'版本的psychtoolbox中被捕获并解决的 . 如果您拥有最新最好的心理工具箱,请运行UpdatePsychtoolbox以获得良好的睡眠 . 见here

相关问题