void *o_native_write_thread(void * par) { struct o_native_socket * cur_sock = 0; struct o_native_socket * sock_listen = 0; try { sock_listen = o_native_socket_listen("127.0.0.1", 2000); cur_sock = o_native_socket_accept(sock_listen); } catch(struct o_exception, ex) { printf("fail listen:%s", o_exception_message(ex)); o_exception_free(ex); fflush(stdout); return 0; } end_try; int val; int size = sizeof(int); o_native_socket_recv(cur_sock, &val, &size, 0); o_native_thread_current_sleep(10); o_native_socket_send(cur_sock, &val, size); o_native_socket_close(cur_sock); o_native_socket_close(sock_listen); o_native_thread_current_exit(); return 0; }
void *test_o_connection_private_listen_thread(void * par) { try { struct o_database_socket * socket = o_database_socket_listen(HOST_TEST, PORT_TEST); struct o_connection * server_conn = o_connection_remote_new_accept(socket); struct o_connection_remote * server = (struct o_connection_remote *) server_conn; int val = o_connection_remote_read_int(server); o_connection_remote_write_int(server, val); char val_c = o_connection_remote_read_byte(server); o_connection_remote_write_byte(server, val_c); short val_s = o_connection_remote_read_short(server); o_connection_remote_write_short(server, val_s); long long val_64 = o_connection_remote_read_long64(server); o_connection_remote_write_long64(server, val_64); int number; unsigned char *bytes = o_connection_remote_read_bytes(server, &number); o_connection_remote_write_bytes(server, (unsigned char *)bytes, number); o_free(bytes); char * string = o_connection_remote_read_string(server); o_connection_remote_write_string(server, string); o_free(string); o_connection_free(server_conn); o_database_socket_close(socket); o_native_thread_current_exit(); } catch (struct o_exception, e) { char buf[512]; printf(buf, "Thread fail unsupported -> Error Message: %s", o_exception_message(e)); fflush(stdout); } end_try; return par; }