## Where communities thrive

• Join over 1.5M+ people
• Join over 100K+ communities
• Free without limits
##### Activity
Gábor Gyebnár
@aedm
ping
Tamás Szelei
@sztomi
Derek Kozel
@dkozel
Is this channel used?
Prakash T
@Prakash059
how can i execute this program
it's always showing client.h no such file or dirctory
Prakash T
@Prakash059
??
Yaroslav
@DJYar
@sztomi Hey. Got problems with rpclib: server run() / async_run() and client constructor are hanging up when RPCLib is inside plugin DLL.
Client constructor leads to std::thread io_thread constructor where everything halts due to some race condition -- it waits forever for mutex unlock.
Yaroslav
@DJYar
Anyway, for anyone who got same problem -- remember: never create std::thread on DLL_PROCESS_ATTACH or similar => causes race condition due to syncronization with main thread.
Tamás Szelei
@sztomi
@DJYar that is very much possible, I haven't been testing (or recommending) compiling rpclib as a shared library
Yaroslav
@DJYar
@sztomi this problem persists even with static linking. Solved with creating exported function which contains RPC contsruction and now everything is pretty fine. Is there rpclib for .NET or I should wrap it by myself? Thank you for answer
jhaxhiaj
@jhaxhiaj
I'm trying to implement a JSON-RPC library that uses rpc lib, any idea why the connection if fails when I put the username and the password like that "rpc::client client("user:pwd@localhost", 9332);
Yaroslav
@DJYar
@jhaxhiaj maybe cause that name cannot be resolved by DNS?
Hayden Flinner
@haydenflinner
Hey all, I'm new to C++ and I tried to install rpclib. I followed the compiling instructions here, then did sudo make install. I'm compiling my program with -lrpc. G++ is apparently finding the files, but maybe not all of them, because I get an error that ends in:
/usr/local/include/rpc/dispatcher.inl:15: undefined reference to rpc::detail::dispatcher::enforce_unique_name(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
collect2: error: ld returned 1 exit status
Top of it looks like this
/tmp/ccKC48q7.o: In function main':
/home/hayden/p4-aos/src/GTController.cpp:26: undefined reference to rpc::server::server(unsigned short)'
/home/hayden/p4-aos/src/GTController.cpp:30: undefined reference to rpc::server::run()'
/home/hayden/p4-aos/src/GTController.cpp:26: undefined reference to rpc::server::~server()'
/home/hayden/p4-aos/src/GTController.cpp:26: undefined reference to rpc::server::~server()'
/tmp/ccKC48q7.o: In function void rpc::detail::dispatcher::bind<void (*)()>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, void (*)())':
I tried adding -L /usr/local/lib to my Makefile, because I librpc.a is there at /usr/local/lib.
Yaroslav
@DJYar
@haydenflinner If there librpc.a there so you may try compile app with -llibrpc? (I'm Visual Studio user, so can't try to do it by myself)
Hayden Flinner
@haydenflinner
I've since switched to gRPC, thank you though!
DarkWingMcQuack
@DarkWingMcQuack
Hey everybody, I want to write a client in C++ and the server is written in Python. Most of the data transfered will be matrices and vectors of doubles. Any hint on how I can get this to work? Will I need to write my own implementations of Matrix and Vector and then use MSGPACK_DEFINE_ARRAY?
Yaroslav
@DJYar
@DarkWingMcQuack look at issue #100 at rpclib GitHub. I think it will help you
Yaroslav
@DJYar
matrix and vector can be represented as array so you may make just utility functions which will convert array (actually std::vector<double>) into your own matrix and vector C++ struct. Or you can even overload operator std::vector() to make implicit cast avability.
p.s. sorry for bad english, hello from Ukraine
DarkWingMcQuack
@DarkWingMcQuack
oh wow this realy helps :D Thanks a lot.
can I use c.call("get_numbers").as<std::vector<std::vector<int>>>();? because if so i would generate CTORS which expect those to generate my datatypes
Yaroslav
@DJYar
Never tried nested vectors, sorry. BTW, you can just try to make 5-lines test app and debug it to check this
DarkWingMcQuack
@DarkWingMcQuack
@DJYar Thanks a lot, will do this.
Is there any documentation what types we can use with as without using MSGPACK_DEFINE_ARRAY?
Yaroslav
@DJYar
@sztomi .. ?
Yaroslav
@DJYar
@DarkWingMcQuack I think it's not here but in msgpack library, but I may be wrong. as function seems to be from msgpack 'cause I haven't found any info about it in rpclib docs.
sztomi should know something more about it.
Yaroslav
@DJYar
@DarkWingMcQuack call returns msgpack::object_handle` so you really should look into msgpack docs
Quentin Chateau
@qchateau
Hi guys, I forked rpclib and merged a few interesting PR that have been hanging there for months: feel free to check it out : https://github.com/Tytan/rpclib
ukreal
@ukreal
1>C:\Users\hongqimei\Documents\Unreal Projects\Yeah\Plugins\RPC\Source\RPC\rpclib\include\rpc/msgpack/v1/object_fwd.hpp(56): error C2988: 不可识别的模板声明/定义
1> C:\Users\hongqimei\Documents\Unreal Projects\Yeah\Plugins\RPC\Source\RPC\rpclib\include\rpc/msgpack/v1/object_fwd.hpp(67): note: 参见对正在编译的 类 模板 实例化 "clmdep_msgpack::v1::has_as<T>" 的引用
1>C:\Users\hongqimei\Documents\Unreal Projects\Yeah\Plugins\RPC\Source\RPC\rpclib\include\rpc/msgpack/v1/object_fwd.hpp(56): error C2059: 语法错误:“<end Parse>”
1>C:\Users\hongqimei\Documents\Unreal Projects\Yeah\Plugins\RPC\Source\RPC\rpclib\include\rpc/msgpack/v1/object_fwd.hpp(56): error C2334: “{”的前面有意外标记；跳过明显的函数体
1>C:\Users\hongqimei\Documents\Unreal Projects\Yeah\Plugins\RPC\Source\RPC\rpclib\include\rpc/msgpack/v1/object_fwd.hpp(56): error C2988: 不可识别的模板声明/定义
1>C:\Users\hongqimei\Documents\Unreal Projects\Yeah\Plugins\RPC\Source\RPC\rpclib\include\rpc/msgpack/v1/object_fwd.hpp(56): error C2059: 语法错误:“->”
1>C:\Users\hongqimei\Documents\Unreal Projects\Yeah\Plugins\RPC\Source\RPC\rpclib\include\rpc/msgpack/v1/object_fwd.hpp(61): error C2238: 意外的标记位于“;”之前
1>C:\Users\hongqimei\Documents\Unreal Projects\Yeah\Plugins\RPC\Source\RPC\rpclib\include\rpc/msgpack/v1/object_fwd.hpp(63): error C2988: 不可识别的模板声明/定义
1>C:\Users\hongqimei\Documents\Unreal Projects\Yeah\Plugins\RPC\Source\RPC\rpclib\include\rpc/msgpack/v1/object_fwd.hpp(63): error C2059: 语法错误:“<end Parse>”
1>C:\Users\hongqimei\Documents\Unreal Projects\Yeah\Plugins\RPC\Source\RPC\rpclib\include\rpc/msgpack/v1/object_fwd.hpp(63): error C2334: “{”的前面有意外标记；跳过明显的函数体
1>C:\Users\hongqimei\Documents\Unreal Projects\Yeah\Plugins\RPC\Source\RPC\rpclib\include\rpc/msgpack/v2/object_fwd.hpp(82): error C2988: 不可识别的模板声明/定义
why