diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..188c9bd6a36f8131b1c4383749c34fb409b7e752 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +netcode/ diff --git a/client/python/client.py b/client/python/client.py index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..578ac190f6830770920d0fc3606dcac9ef5f0055 100644 --- a/client/python/client.py +++ b/client/python/client.py @@ -0,0 +1,13 @@ +import grpc +from netcode.netcode_pb2_grpc import NotifierComStub +from netcode.netcode_pb2 import * + +channel = grpc.insecure_channel('localhost:8080') +stub = NotifierComStub(channel) + +def sendMessage(msg): + request = SendMessageRequest(msg) + response = stub.SendMessage(request) + +if __name__ == "__main__": + sendMessage("test") \ No newline at end of file diff --git a/server/server.py b/server/server.py index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..25fb0e2bc4a53325afe9b358d15907d0b0a42be3 100644 --- a/server/server.py +++ b/server/server.py @@ -0,0 +1,18 @@ +import grpc +from concurrent import futures + +from netcode.netcode_pb2_grpc import * +from netcode.netcode_pb2 import * + +class NotifierService(NotifierComServicer): + def SendMessage(self, request, context): + print(request.message) + return Nothing() + +if __name__ == "__main__": + server = grpc.server(futures.ThreadPoolExecutor(max_workers=10)) + add_NotifierComServicer_to_server( + NotifierService, server) + server.add_insecure_port('[::]:8080') + server.start() + server.wait_for_termination() diff --git a/shared/gen-python-netcode.sh b/shared/gen-python-netcode.sh new file mode 100644 index 0000000000000000000000000000000000000000..f70d5d3252ba055bad243b407ff23a0bf4fc6164 --- /dev/null +++ b/shared/gen-python-netcode.sh @@ -0,0 +1,22 @@ +#!/bin/bash +################################## +# Author: Martin Wistauder +# Date: 05.10.2021 +# Version: 1.0 +################################## +set -e + +usage='Usage: ./gen-python-netcode.sh {protobuf source dir} {output dir} +Example usage: ./gen-python-netcode.sh ./protobuf ./netcode' + +# check params +[ -z $1 ] && echo -e "Error: First parameter missing.\n$usage" && exit 1 || proto_dir="$1" +[ -z $2 ] && echo -e "Error: Second parameter missing.\n$usage" && exit 1 || output_dir="$2" + +# vars +proto_dir="$1" +output_dir="$2" + +# generate the python netcode +mkdir -p "$output_dir" +python -m grpc_tools.protoc -I"$proto_dir" --python_out="$output_dir" --grpc_python_out="$output_dir" $(find "$proto_dir" -name "*.proto" -printf "%P ") diff --git a/shared/netcode.proto b/shared/netcode.proto new file mode 100644 index 0000000000000000000000000000000000000000..efb2582317b2e6cbf17503327044089a4fb16a7b --- /dev/null +++ b/shared/netcode.proto @@ -0,0 +1,13 @@ +syntax = "proto3"; +package netcode; + +service NotifierCom { + rpc SendMessage (SendMessageRequest) returns (Nothing); +} + +message SendMessageRequest { + string message = 1; +} + +message Nothing { +}