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;
}
Esempio n. 2
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;
}