#include
#include //使用了自己建立的bigint_sum.srv
#include //使用string
/* *本來是想實現真正的大數加法運算的,然後發現如果我把bigsum定義成string型別,按照c++的邏輯,
*應該是可以直接轉換的,但是在這裡string a=argv[1]好像是不合法的,查了半天沒解決,就用了int64的整數,但是我的結果表達
*是可以計算出兩個最大int64整數之和的string型別,可這樣的話,傳遞的時候既然失效了,只能在服務端顯示,不能在
*客戶端顯示,這個好失敗。重新檢視了編譯srv這一節,實在找不到了
*/bool add(zhang::bigint_sum::request &req,zhang::bigint_sum::response &rep)
//儲存b到number2
for(int i=0;req.b!=0;i++)
int lenmax = ((len1 > len2) ? len1 : len2);//找到最「長」的乙個數,不是最大,方便下面計算結果
int len=0;
//計算sum
for(int i=lenmax-1;i>=0;i--)
//最後一位處理
if(carry!=0)
//這裡好奇怪,為什麼服務端會顯示兩個數的和在b的位置
ros_info("request: x=%ld, y=%ld",(long
int)req.a,(long
int)req.b);
//呼叫c_str輸出字串sum
ros_info("sending back response: [%s]",rep.sum.c_str());
//返回正常
return
true;
}int main(int argc,char** argv)
ROS服務端與客戶端
usr bin env python coding utf 8 import time,thread import rospy from geometry msgs.msg import twist from std srvs.srv import trigger,triggerresponse p...
TCP客戶 服務端程式示例
書中的例子中,作者自己封裝了很多方法和標頭檔案 本書有原始碼,需要按要求編譯執行 我做了修改,自己照著敲,可能方法上不太嚴謹,不會應當是可以執行的,自己敲出來也是一種學習。我們要實現如下的tcp客戶 伺服器 服務端 server.c include include include include i...
openssl程式設計之服務端
openssl程式設計之服務端 繼續上篇部落格,我們有了openssl的客戶端程式,本篇博文將詳細介紹服務端的openssl程式設計 服務端使用的證書相關檔案 ca.crt,server.crt,server.key,關於證書和key的生成,請參考 程式如下 include openssl bio....