| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| readme.txt | 2017-02-24 | 1.9 kB | |
| SeelWorks.InterCom.zip | 2017-02-24 | 19.4 kB | |
| SeelWorks.InterComTester.zip | 2017-02-19 | 79.0 kB | |
| Totals: 3 Items | 100.4 kB | 0 |
Updated Feb 24, 2017:
- Fixed numerous bugs and typos (mainly with ByteBuffer)
- Streamlined certain processes
Documentation is forthcoming.
But basically it works like this...
In the main window of the client process...
...
using SeelWorks.InterCom;
namespace MyClientApp {
public partial class MyWindow :Form {
public MyWindow() {
InitializeComponent();
}
private void MyButton_Click(object sender, EventArgs e) {
try {
MessageBox.Show(this, Client.SendAndReceive("MyPipeServer", ByteBuffer.FromValues("GetTime")).ReadString(), "Reponse");
} catch(Exception ex) {
MessageBox.Show(this, ex.Message, ex.Source);
}
}
}
}
In the main window of the server process...
...
using SeelWorks.InterCom;
namespace MyServerApp {
public partial class MyWindow :Form {
private Server _server = new Server("MyPipeServer");
public MyWindow() {
InitializeComponent();
_server.DataReceived += _server_DataReceived;
_server.Start(10);
}
private void MyWindow_FormClosing(object sender, FormClosingEventArgs e) {
_server.Stop();
}
private void _server_DataReceived(object sender, Server.DataReceivedEventArgs e) {
if(InvokeRequired) {
Invoke((Server.DataReceivedEventHandler)_server_DataReceived, sender, e);
} else {
switch(e.BufferIn.ReadString()) {
case "GetDate":
e.BufferOut.Write(DateTime.Now.ToShortDateString());
break;
case "GetTime":
e.BufferOut.Write(DateTime.Now.ToShortTimeString());
break;
default:
e.BufferOut.Write("Your request is unrecognized.");
break;
}
}
}
}
}