From a26aad9df5dfdfe752124a989fef0287783837f1 Mon Sep 17 00:00:00 2001 From: chai Date: Wed, 8 Aug 2018 17:24:32 +0800 Subject: *update --- test/04Network/main.cpp | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) (limited to 'test/04Network/main.cpp') diff --git a/test/04Network/main.cpp b/test/04Network/main.cpp index d24e2b0..6db72ab 100644 --- a/test/04Network/main.cpp +++ b/test/04Network/main.cpp @@ -9,6 +9,7 @@ using namespace jin::input; using namespace jin::audio; using namespace jin::time; using namespace jin::thread; +using namespace jin::net; Timers timers; @@ -29,25 +30,22 @@ void onDraw() } -void thread2Runner(Thread* t) +void netWorkThread(Thread* t) { - int i = 0; + Thread::Variant v = t->demand(1); + Socket* socket = (Socket*)v.pointer; + char buffer[2048] = {0}; while (true) { - if (i++ == 1000000000) + Socket* client = socket->accept(); + if (client != nullptr) { - i = 0; - cout << (char*)(t->demand(1).pointer); + client->receive(buffer, sizeof(buffer)); + cout << buffer; } } } -void sendFunc(void* p) -{ - Thread* t = (Thread*)p; - t->send(1, "hello_"); -} - int main(int argc, char* argv[]) { Game* game = Game::get(); @@ -69,11 +67,14 @@ int main(int argc, char* argv[]) wndSetting.resizable = true; wnd->init(&wndSetting); - Thread t("Count", thread2Runner); + Net::get()->init(nullptr); - t.start(); - timers.after(2000, sendFunc, &t); + Socket socket(SocketType::TCP, 6438); + Thread t("Receive Network Data", netWorkThread); + t.start(); + t.send(1, &socket); + game->run(); game->quit(); -- cgit v1.1-26-g67d0