PNU Communication de Win64 à Win32
-
11-12-2019 - |
Question
J'utilise le boîte à outils PNET TCP / UDP ), avec psychtoolbox pour communiquer entre deux instances de Matlab dans différentes machines. Une de mes machines est une Win7 de 32 bits Running Matlab 2010b. L'autre est une victoire de 64 bits 7 exécutant Matlab 2012a. J'ai un problème dans le transfert de données d'un ordinateur à l'autre.
Expérience 2 : Exécutez au-dessus de l'expérience en sens inverse avec l'envoi de 32 bits et une lecture de 64 bits. résultat attendu : 64 bits et attend la saisie du clavier. Si une entrée de KB trouvée, arrêtez la démo. résultat réel les crashs MATLAB 64 bits réclamant une violation de la segmentation dans le fichier MEX. Il affiche une trace de pile (je l'appelle une partie à la fin).
Jouer avec les numéros de port ne fait aucune différence. Recompilez le fichier source 'pnet.c' au lieu d'utiliser le MEX précompilé ne fait aucune différence. Question : Quelqu'un a-t-il essayé quelque chose comme ça? Avez-vous eu le travail? Pouvez-vous suggérer des choses à essayer de faire fonctionner cela sans avoir à installer 32 bits Matlab dans mon ordinateur Win64?
============
code:
udp_send_demo('sin(0:0.1:6)',clientIPStr,portToListen)
côté client:
udp_plotter_demo(portToListen)
=============
trace de pile
Violation de segmentation détectée au SAT 29 16:41:11 2012
Configuration:
Décodage de crash: désactivé
codage par défaut: Windows-1252
racine MATLAB: C: \ Program Files \ MATLAB \ R2012A
Version matlab: 7.14.0.739 (R2012A)
Système d'exploitation: Microsoft Windows 7
Identifiant du processeur: X86 Famille 6 Modèle 58 Étape 9, VéritableTel
Machine virtuelle: Java 1.6.0_17-B04 avec Sun Microsystems Inc. Java Hotspot (TM) Mode mixte de serveur 64 bits
Système de fenêtre: version 6.1 (Build 7601: Service Pack 1)
Nombre de défaut: 1
terminaison anormale: Violation de la segmentation
Enregistrer l'état (de la faute): RAX= 000000000000000000 RBX= 000000000000000000
RCX= 00000000005D0DF7D7 RDX= 0000000000000001
RSP= 00000000040671B0 RBP= 0000000004067289
RSI= 000000000000003D RDI= 000000000000003D
r8= 000000005d0df7d6 r9= 000050490ee40167
r10= 000000000000003D R11= 000000000000000000
R12= 000000000000000008 R13= 000007FEFB997678
r14= 000000000000000002 R15= 000000000000000002
RIP= 000007FEFB99238A EFL= 00010202
cs= 0033 fs= 0053 gs= 002b
trace de pile (de la faute):
[0] 0x000007FEFFB99238A C: \ Utilisateurs \ EPHYS-DATA \ Desktop \ TCP_UDP_IP \ PNET.MEXW64 + 00009098 (PERROR + 004298)
[1] 0x000007FEFB99389OB C: \ Utilisateurs \ EPLY-DATA \ Desktop \ TCP_UDP_UDP_IP \ PNET.MEXW64 + 00014491 (MexFunction + 001979)
[2] 0x0000000074F10F63 C: \ Fichiers de programme \ MATLAB \ R2012A \ bin \ win64 \ libmex.dll + 00069475 (Mexrunmexfile + 000131)
[3] 0x0000000074F0FCE2 C: \ Fichiers de programme \ MATLAB \ R2012A \ BIN \ WIN64 \ LIBMEX.DLL + 00064738 (INSWAPMEXFilerReader + 000226)
[4] 0x0000000074F0FE58 C: \ Fichiers de programme \ MATLAB \ R2012A \ BIN \ WIN64 \ LIBMEX.DLL + 00065112 (INSWAPMEXFilerReader + 000600)
[5] 0x0000000074E4B046 C: \ Fichiers de programme \ Matlab \ r2012a \ bin \ win64 \ m_dispatcher.dll + 00045126 (MFH_File :: DisPatch_fh + 000486)
.... plus de choses ....
Cette erreur a été détectée pendant que un fichier MEX était en cours d'exécution. Si le fichier MEX n'est pas une fonction de mathworks officielle, veuillez examiner son code source pour les erreurs. Veuillez consulter le Guide d'interfaces externe pour obtenir des informations sur le débogage des fichiers MEX.
Si ce problème est reproductible, veuillez soumettre une demande de service via: ....
Un ingénieur de support technique peut vous contacter avec d'autres informations.
Merci pour votre aide.
merci
-b
La solution
J'ai écrit les gens utiles à psychtoolbox.Apparemment, le bogue a été attrapé et résolu dans la version «bêta» de psychtoolbox.Si vous avez le plus grand et le plus grand psychtoolbox, exécutez UpdatepsychToolbox pour une bonne nuit de sommeil.Voir ici