git提交
注意仓库只保存源代码,不要把.o文件和可执行文件加进去
git add .
git restore --stage *.o
git restore --stage match_system/src/main
Python调用thrift报错
遇到如下报错
Traceback (most recent call last):
File "client.py", line 1, in <module>
from match_client.match import Match
File "/home/myw/thrift_demo/game/src/match_client/match/Match.py", line 9, in <module>
from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
ModuleNotFoundError: No module named 'thrift'
原因是Python没有安装thrift模块,执行如下命令安装后可正常运行
sudo apt install python3-pip
sudo pip install thrift
编译命令
编译cpp文件的时候需要执行如下命令:
g++ -c main.cpp //编译
g++ *.o -o main -lthrift -pthread //生成可执行文件,要加上线程的动态链接库 -pthread
thrift自动生成代码命令
生成client端代码,并处理的步骤如下:
thrift -r --gen cpp ../../thrift/save.thrift # 用save.thrift自动生成C++代码,将会自动在当前目录下生成一个gen-cpp文件夹
mv gen-cpp/ save_client # 将文件夹改名为save_client
rm save_client/Save_server.skeleton.cpp # C++必须把这个文件删掉,因为这里面也包含了main函数,server中已经有main函数了
运行Python程序
python3 client.py
求MD5sum
linux下直接输入命令:
md5sum # 输完后按Ctrl+D,就会计算出一个长串,取前8位用于验证
连接ACWing的myserver上的服务报错
如果调用服务成功,会在服务器上生成一个文件,位置在 myserver:homework/lesson_6/result.txt
调用失败报错:
Thrift: Wed Feb 23 23:23:31 2022 TSocket::open() connect() <Host: 123.57.47.211 Port: 9090>: Connection timed out
ERROR: connect() failed: Connection timed out
说明无法连接服务器