diff --git a/main.cpp b/main.cpp index f880aa6..2d443ea 100644 --- a/main.cpp +++ b/main.cpp @@ -29,12 +29,42 @@ using namespace metacall; +// +// Local functions +// + +static void serverTest1(int value) { + printf("Server function %d\n", value); +} + + // // Program entry // int main(int argc, char *argv[]) { + const int port = 1234; + Server server; + if (!server.start(port)) { + perror("Cannot start server\n"); + return 1; + } + + Client client; + if (!client.connect("localhost", port)) { + perror("Cannot connect to server\n"); + return 1; + } + + server.binding()->bind(FPARAM(serverTest1)); + + do { + client.protocol()->invoke("serverTest1", 1234); + server.advance(); + client.advance(); + } + while (server.clientCount() > 0); return 0; } diff --git a/mc_socket.cpp b/mc_socket.cpp index b2c140a..d6fbe22 100644 --- a/mc_socket.cpp +++ b/mc_socket.cpp @@ -29,9 +29,6 @@ namespace metacall { -namespace { - - #ifdef _WIN32 // @@ -40,7 +37,7 @@ namespace { #pragma comment(lib, "ws2_32.lib") -struct Winsock { +static struct Winsock { Winsock() { WSAData data; WSAStartup(MAKEWORD(2, 2), &data); @@ -54,9 +51,6 @@ struct Winsock { #endif -} - - // // Constants // diff --git a/mc_stream-inl.hpp b/mc_stream-inl.hpp index dc73684..3de83fb 100644 --- a/mc_stream-inl.hpp +++ b/mc_stream-inl.hpp @@ -44,7 +44,7 @@ Stream::State Stream::send(const T& packet) { Serializer serializerSend(&buffSend_); serializerSend.write(header); - serializerSend.write(buffTemp); + serializerSend.writeRaw(buffTemp.data(), buffTemp.bytes()); return STATE_READY; }