Add Launcher
This commit is contained in:
@@ -133,9 +133,11 @@
|
||||
<PostBuildEvent>
|
||||
<Command>cd $(OutDir)
|
||||
md out\cpp
|
||||
md out\launcher
|
||||
md out\java\src\main\java
|
||||
md out\java\src\main\resources\win32-x86
|
||||
xcopy /y $(OutDir)spy.dll $(OutDir)out\cpp
|
||||
xcopy /y $(OutDir)spy.dll $(OutDir)out\launcher
|
||||
xcopy /y $(OutDir)spy.dll $(OutDir)out\java\src\main\resources\win32-x86
|
||||
xcopy /y $(OutDir)spy.dll $(SolutionDir)python\wcferry</Command>
|
||||
</PostBuildEvent>
|
||||
|
||||
+22
-10
@@ -31,7 +31,7 @@ extern std::string GetSelfWxid(); // Defined in spy.cpp
|
||||
|
||||
using namespace std;
|
||||
|
||||
using grpc::CallbackServerContext;
|
||||
using grpc::CallbackServerContext;
|
||||
using grpc::Server;
|
||||
using grpc::ServerBuilder;
|
||||
using grpc::ServerUnaryReactor;
|
||||
@@ -231,7 +231,8 @@ public:
|
||||
|
||||
static DWORD lThreadId = 0;
|
||||
static bool lIsRunning = false;
|
||||
static ServerBuilder lBuilder;
|
||||
static ServerBuilder lBuilder;
|
||||
static WcfImpl lService;
|
||||
|
||||
static unique_ptr<Server> &GetServer()
|
||||
{
|
||||
@@ -243,14 +244,13 @@ static unique_ptr<Server> &GetServer()
|
||||
static int RunServer()
|
||||
{
|
||||
string server_address("0.0.0.0:10086");
|
||||
WcfImpl service;
|
||||
|
||||
lBuilder.AddListeningPort(server_address, grpc::InsecureServerCredentials());
|
||||
lBuilder.AddChannelArgument(GRPC_ARG_KEEPALIVE_TIME_MS, 2000);
|
||||
lBuilder.AddChannelArgument(GRPC_ARG_KEEPALIVE_TIMEOUT_MS, 3000);
|
||||
lBuilder.AddChannelArgument(GRPC_ARG_KEEPALIVE_PERMIT_WITHOUT_CALLS, 1);
|
||||
lBuilder.RegisterService(&service);
|
||||
|
||||
lBuilder.RegisterService(&lService);
|
||||
|
||||
unique_ptr<Server> &server = GetServer();
|
||||
LOG_INFO("Server listening on {}", server_address);
|
||||
LOG_DEBUG("server: {}", fmt::ptr(server));
|
||||
@@ -261,7 +261,11 @@ static int RunServer()
|
||||
}
|
||||
|
||||
int RpcStartServer()
|
||||
{
|
||||
{
|
||||
if (lIsRunning) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
HANDLE rpcThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)RunServer, NULL, NULL, &lThreadId);
|
||||
if (rpcThread != 0) {
|
||||
CloseHandle(rpcThread);
|
||||
@@ -272,12 +276,20 @@ int RpcStartServer()
|
||||
|
||||
int RpcStopServer()
|
||||
{
|
||||
if (lIsRunning) {
|
||||
UnListenMessage();
|
||||
if (lIsRunning) {
|
||||
Empty empty;
|
||||
Response rsp;
|
||||
CallbackServerContext context;
|
||||
|
||||
unique_ptr<Server> &server = GetServer();
|
||||
LOG_DEBUG("server: {}", fmt::ptr(server));
|
||||
LOG_DEBUG("server: {}", fmt::ptr(server));
|
||||
if (gIsListening) {
|
||||
//UnListenMessage(); // Do it in RpcDisableRecvMsg
|
||||
lService.RpcDisableRecvMsg(&context, &empty, &rsp);
|
||||
}
|
||||
server->Shutdown();
|
||||
LOG_INFO("Server stoped.");
|
||||
LOG_INFO("Server stoped.");
|
||||
lIsRunning = false;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user