Author Topic: Interprocess communication  (Read 853 times)

Mikl__

  • Member
  • *****
  • Posts: 1263
Re: Interprocess communication
« Reply #30 on: August 22, 2022, 08:44:43 AM »
09. Mutex. Transfer pictures
I created icons of the size 16x16, 32x32, 64x64, 128x128, 256x256 pixels for the experiment





The transmission is in nibbles+delays for synchronization. The transfer of the 256x256 icon took approximately 42 minutes (2513036/60000=41.88393(3)). It can be seen it is necessary to change the algorithm and increase the transmission speed.
||Size of Resource (bytes)|mSeconds|Bytes/mSec
|text string|37|702|0.05270655
|icon 16х16|1128|20639|0.05465381
|icon 32х32|4264|81776|0.05214244
|icon 64х64|16936|323546|0.05234495
|icon 128х128|67624|543882|0.12433579
|icon 256х256|270376|2513036|0.10758939
« Last Edit: August 28, 2022, 09:09:07 AM by Mikl__ »

jj2007

  • Member
  • *****
  • Posts: 12958
  • Assembler is fun ;-)
    • MasmBasic
Re: Interprocess communication
« Reply #31 on: August 22, 2022, 09:39:05 AM »
That is incredibly slow, Mikl :sad:

For comparison, see my attached server/client pair; it uses WM_COPYDATA to transfer Windows.inc (977412 bytes) in less than a second.

Mikl__

  • Member
  • *****
  • Posts: 1263
Re: Interprocess communication
« Reply #32 on: August 22, 2022, 10:36:00 AM »
Ciao, jj2007! Grazie per l'esempio...
Quote
That is incredibly slow
I know about it . I already answered your question
Quote
Next step would be to test which is the fastest
I can answer which of the ways are the slowest, these are Interprocess Synchronization: Event Pipes, Mutexes and Semaphores. I even had to maden a progress bar to prevent the user from exiting the program before the data was transferred. The rest of the methods are quite faster (several MBytes are transferred in several mSec). They are: WinSockets, Dynamic Data Exchange, Named Pipes, MailSlots, Memory Mapped File, Paging File, ClipBoard and WM_COPYDATA

Mikl__

  • Member
  • *****
  • Posts: 1263
Re: Interprocess communication
« Reply #33 on: September 07, 2022, 09:12:41 AM »
Quote from: six_L
Hi,Mikl__
 :thumbsup: :thumbsup: :thumbsup:
the wonderful tutorial for IPC
Hi All!
Help me too... I would like to finish the tutorial. I still need bin-files and source files for interprocessor communication via:
  • OLE/ActiveX/COM
  • Distributed Component Object Model (DCOM)
  • Remote Method Invocation (RMI)
  • Common Object Request Broker Architecture (CORBA)
  • Remote Procedure Call (RPC)
  • Local Procedure Call (LPC)
  • Microsoft Message Queue (MSMQ)
An example is enough for me to transfer a small text string from application to application. Pleeez!

jj2007

  • Member
  • *****
  • Posts: 12958
  • Assembler is fun ;-)
    • MasmBasic
Re: Interprocess communication
« Reply #34 on: September 07, 2022, 09:59:41 AM »
My dear friend Mikl,

If I had a 48 hours day, I might be able to help you - but 24 hours are not even enough for my own babies... sorry :thup:

We all adore what you are doing, but don't expect too much from us lazybones :cool:

Biterider

  • Member
  • ****
  • Posts: 975
  • ObjAsm Developer
    • ObjAsm
Re: Interprocess communication
« Reply #35 on: September 07, 2022, 04:23:14 PM »
Hi Mikl_
I'm not sure if I understood this correctly, but as a text file you could use the well-known bible.txt. You could use any graphics file (.bmp, .png, etc.) as a binary file and reconstruct it on the receiving end and display it again (like you did before).

Biterider
« Last Edit: September 07, 2022, 08:02:57 PM by Biterider »

six_L

  • Member
  • ***
  • Posts: 286
Re: Interprocess communication
« Reply #36 on: September 08, 2022, 04:06:54 AM »
Hi,Mikl_
you'v done the great work.
Quote
Hi All!
Help me too... I would like to finish the tutorial. I still need bin-files and source files for interprocessor communication via:

    OLE/ActiveX/COM
    Distributed Component Object Model (DCOM)
    Remote Method Invocation (RMI)
    Common Object Request Broker Architecture (CORBA)
    Remote Procedure Call (RPC)
    Local Procedure Call (LPC)
    Microsoft Message Queue (MSMQ)

An example is enough for me to transfer a small text string from application to application. Pleeez!
Your codes about IPC is the first I'v seen. i can only learn.
Say you, Say me, Say the codes together for ever.