One of the powerful peer-to-peer communication solutions for Delphi and C++ Builder developers is called IPWorks IPC. It is a suite of components for inter-process communications (IPC) through Named Pipes. The component set combines client, server, and remote execution components facilitating straightforward peer-to-peer communications between related or unrelated processes.
With the IPWorks IPC component set are powerful client, server, and external process execution components for adding inter-process communications to Desktop and Web applications. The components give 100% native performance and thread-safe in critical situations.
When you install you will get 3 main components:
- PipeClient – A simple Client for connecting and communicating over named pipes
- PipeExec – Provides an easy way to start and interact with a process over standard input, output, and error
- PipeServer – A lightweight server component based on an asynchronous, event-driven architecture. It designed to balance the load between connections by default
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
procedure TFormPipeserver.btnStartClick(Sender: TObject); begin PipeServer1.PipeName := txtPipeName.Text; PipeServer1.DefaultEOL := #13#10; PipeServer1.Listening := True; tbLog.Items.Add('Server started. ' + #13#10); end; procedure TFormPipeserver.btnStopClick(Sender: TObject); begin PipeServer1.Listening := False; PipeServer1.Shutdown(); tbLog.Items.Add('Server stopped. ' + #13#10); end; procedure TFormPipeserver.PipeServer1Connected(Sender: TObject; ConnectionId: Integer); begin tbLog.Items.Add('PipeClient ' + IntToStr(ConnectionId) + ' has connected.' + #13#10); clientId := ConnectionId; end; procedure TFormPipeserver.PipeServer1DataIn(Sender: TObject; ConnectionId: Integer; Text: string; TextB: TArray<System.Byte>; EOL: Boolean); begin tbLog.Items.Add('Echoing [' + IntToStr(ConnectionId) + ']: ' + Text + #13#10); PipeServer1.DataToSend[ConnectionId] := Text + #13#10; end; procedure TFormPipeserver.PipeServer1Disconnected(Sender: TObject; ConnectionId: Integer); begin tbLog.Items.Add('PipeClient ' + IntToStr(ConnectionId) + ' disconnected.' + #13#10); end; procedure TFormPipeserver.tbtSendClick(Sender: TObject); begin try PipeServer1.DataToSend[clientId] := txtMessage.Text + #13#10; tbLog.Items.Add('Sending ' + txtMessage.Text + #13#10); except on E: Exception do ShowMessage(E.Message); end; end; |
Be sure to head over and check out the latest version of the IPWorks IPC component set and download it from the IDE
With the use of Windows IDE, you can quickly create fast peer-to-peer communication between windows processes when developing in Delphi or C++ environments. Try your Free Trial here.
Design. Code. Compile. Deploy.
Start Free Trial Upgrade Today
Free Delphi Community Edition Free C++Builder Community Edition