mdsplus之通過C和C 遠端訪問

2021-06-19 03:34:32 字數 2521 閱讀 2627

首先當然需要將遠端mdsplus伺服器防火牆的相應埠開放,或者關閉防火牆。

說明,下面中本地ip為202.127.202.142

遠端mdsplus伺服器ip為202.127.204.220

eastpower樹位於202.127.204.220

一、c語言中的遠端訪問mdsplus

1.在程式中先connect伺服器,再open開啟相應樹,並且這種情況下在本地可以配置要開啟tree的環境變數(export或在envsyms裡面配置),且任意配置不受影響,**如下:

//mdsplus_read.c

#include#include#include#include#define statusok(status) ((status)&1)

int getsize(char*signame);

int main(int argc,char** argv)

status=mdsopen(tname,&shot);

if(!statusok(status))else//

size=getsize("f010_s");

printf("size=%d\n",size);

if(size<1)//if

return 0;

}int getsize(char*signame)//if

return retsize;

}//getsize()

makefile如下:

cc=gcc

mdsplus_read:mdsplus_read.o

cc mdsplus_read.o -l/usr/local/mdsplus/lib -lmdslib -lmdsshr -lc -o mdsplus_read -std=c99

mdsplus_read.o:mdsplus_read.c

cc -c mdsplus_read.c -o mdsplus_read.o -i/usr/local/mdsplus/include -std=c99

2.通過在本地envsyms中配置相應樹的環境變數(修改了這個配置檔案記得重新開啟下終端載入環境變數),但是這種情況下,我只對8000埠測試成功,並且需要在envsyms省略不寫8000埠,如下面:

eastpower_path 202.127.204.220::/var/ftp/pub/easttest
**中不再需要connect遠端mdsplus伺服器,可以像訪問本地mdsplus一樣,如下只給出了main函式,其他同上:

int main(int argc,char** argv)else//

size=getsize("f010_s");

printf("size=%d\n",size);

if(size<1)//if

return 0;

}

二、c++語言中的遠端訪問mdsplus

1.類似於在c程式中先connect伺服器,再open開啟相應樹:

//mdsplus_c++_sample2.cpp

#include#include#include#includeinline char * convert(const std::string & str)

int main(int argc,char** argv)catch(mdsplus::md***ception*exc)

return exit_success;

}

makefile如下:

cc=g++

mdsplus_c++_sample2:mdsplus_c++_sample2.o

$(cc) mdsplus_c++_sample2.o -o mdsplus_c++_sample2 -l/usr/local/mdsplus/lib -lmdsobjectscppshr

mdsplus_c++_sample2.o:mdsplus_c++_sample2.cpp

$(cc) mdsplus_c++_sample2.cpp -c -o mdsplus_c++_sample2.o -i/usr/local/mdsplus/include -g

2.通過在本地envsyms中配置相應樹的環境變數,**如下:

//mdsplus_c++_sample2.cpp

#include#include#include#includeinline char * convert(const std::string & str)

int main(int argc,char** argv)catch(mdsplus::md***ception*exc)

return exit_success;

}

通過在本地envsyms中配置相應樹的環境變數情況下,mdstcl和jscope工具都能像訪問本地樹一樣開啟遠端mdsplus伺服器上的樹。

linux通過c語言程式設計訪問遠端mysql

cpp view plain copy include include include mysql mysql.h intmain void else char sql select host,user from user order by rand if mysql query mysql,sql...

CLion遠端同步和遠端除錯C

1.選擇clion的file settings,找到如下圖所示的deployment 2.點選加號新建連線,選擇sftp協議,然後點選ssh configuration右邊的.然後填寫上伺服器的ip位址以及使用者名稱和密碼。填寫完之後如果在點選test connection的時候提示如下錯誤,the...

C 通過SSH隧道的方式連線遠端MySql 資料庫

出於安全考慮,我們的伺服器不會對外開放3306埠,這時候就需要用到ssh隧道的方式連線,需要ssh.net類庫 如下 using mysql.data.mysqlclient using renci.sshnet using system using system.collections.gener...