git-svn-id: svn://db.shs.com.ru/pip@802 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5

This commit is contained in:
2019-06-17 18:32:02 +00:00
parent 6812b645d9
commit 71128017dd
24 changed files with 904 additions and 547 deletions

View File

@@ -1,15 +1,62 @@
#include "pip.h"
#include <winsock2.h>
class CL: public PIObject {
PIOBJECT(CL)
public:
EVENT_HANDLER1(void, nc, PIEthernet * , client) {
piCout << "client" << client;
}
};
int main() {
PIVector<double> v;
for (int i=0; i<9; ++i) v << i;
PIVector2D<double> v2;//(3,3,v);
piCout << v2;
v2.addRow(v);
v2.addRow(PIVector<double>() << 99 << 88 << 77 << 66);
v2.addRow(v2.row(0));
piCout << v2;
PIKbdListener kbd;
int main(int argc, char * argv[]) {
PICLI cli(argc, argv);
cli.setDebug(false);
cli.addArgument("send");
//PISystemInfo::machineID();
kbd.enableExitCapture();
if (cli.hasArgument("send")) {
/*piCout << "send mode";
PIEthernet eth;
eth.setSendAddress(cli.rawArguments().back() + ":15123");
eth.open();
while (!kbd.exiting) {
eth.send(PIByteArray("test string", 12));
piMSleep(500);
}*/
PIEthernet eth(PIEthernet::TCP_Server);
eth.listen(cli.rawArguments().back() + ":15123", true);
//eth.open();
CL cl;
CONNECTU(&eth, newConnection, &cl, nc);
WAIT_FOR_EXIT;
piCout << "exiting ...";
} else {
piCout << "recv mode";
PIEthernet eth(PIEthernet::TCP_Client);
//eth.setReadAddress(cli.rawArguments().back() + ":15123");
eth.startThreadedRead();
int s = eth.socket();
piCout << s;
piCout << "connect ...";
eth.connect(cli.rawArguments().back() + /*":13361"*/":15123");
piCout << "connect done" << eth.isConnected();
//fcntl(fd, F_SETFL, O_NONBLOCK);
WAIT_FOR_EXIT;
piCout << "exiting ...";
}
/*PIThread t;
t.start(10);
//WAIT_FOR_EXIT;
piSleep(20.);
t.stop(true);*/
piCout << "exit main ...";
return 0;
}