韩国最新伦理电影在线观看_韩国电影r在线_HD中文字幕在线播放,韩国在线观看电影,你这个浪货,韩国三级在线观看播放

CS機(jī)器人運(yùn)行中socket通訊斷開自動(dòng)重連

2025-05-28

1.簡(jiǎn)介

本篇文章介紹CS機(jī)器人作客戶端在使用腳本與服務(wù)器做socket通訊時(shí)怎么樣循環(huán)判斷連接,通訊斷開后怎么樣自動(dòng)連接,以下內(nèi)容要求機(jī)器人應(yīng)用2.12及以上

2.操作流程

  1. 建立 TCP/IP 網(wǎng)絡(luò)通信

1.當(dāng)我們單純使用 socket_open()建立 TCP/IP 網(wǎng)絡(luò)通信指令時(shí),如果服務(wù)器還未打開時(shí),機(jī)器人端戶端未連接到服務(wù)器,程序依然往下運(yùn)行,運(yùn)行到發(fā)送/接收時(shí)機(jī)器人就會(huì)報(bào)錯(cuò)如圖1-1所示,這樣機(jī)器人就必須初始化重新運(yùn)行。

圖1-1

2.為了避免圖1-1的情況發(fā)生我們可以利用socket_open()建立 TCP/IP 網(wǎng)絡(luò)通信時(shí)的返回值做條件判斷循環(huán)連接直到連接成功后程序才繼續(xù)往下運(yùn)行。如圖1-2所示如果服務(wù)器未打開時(shí)機(jī)器人會(huì)一直與服務(wù)器建立連接并打印“連接失敗”到EliRobot 的日志欄中。

圖1-2

3 當(dāng)服務(wù)器打開時(shí)機(jī)器人客戶端連接成功后會(huì)打印到“連接成功“EliRobot 的日志欄中如圖1-3所示,可以用下面代碼1-1配合圖1-4的圖形化編程直接調(diào)用df腳本實(shí)現(xiàn)此操作。

圖1-3


圖1-4


代碼1-1

2.向服務(wù)器發(fā)送數(shù)據(jù)

1.我們單純的使用發(fā)送指令例如:socket_send_string(str, socket_name="socket_0")未判斷發(fā)送是否成功時(shí),如果當(dāng)機(jī)器人客戶端當(dāng)時(shí)已經(jīng)與服務(wù)器斷開連接了或發(fā)送失敗后程序依然往下繼續(xù)運(yùn)行,如圖2-1所示。

圖2-1

2.為了避免圖2-1的情況發(fā)生,我們可以利用發(fā)送指令的返回時(shí)作為判斷是否發(fā)送成功,發(fā)送失敗時(shí)一直發(fā)送直到發(fā)送成功為止,發(fā)送失敗的情況一般都是機(jī)器人客戶端與服務(wù)器斷開連接時(shí)出現(xiàn)的,所以我們可以在發(fā)送前和發(fā)送失敗后通過“socket_is_connected()”判斷與服務(wù)器連接的狀態(tài)如果斷開重新連接再次發(fā)送,如圖2-2所示,可以用下面代碼2-1配合圖2-3的圖形化編程直接調(diào)用df腳本實(shí)現(xiàn)此操作。

圖2-2



代碼2-1

3.從服務(wù)器接收數(shù)據(jù)

1.當(dāng)我們單純的使用接收指令例如“socket_read_string(timeout=2)”接收服務(wù)器的數(shù)據(jù)時(shí):

a:如果當(dāng)機(jī)器人與服務(wù)器未連接時(shí)就接收數(shù)據(jù)就會(huì)如圖3-1所示報(bào)錯(cuò),此時(shí)程序已經(jīng)停止需要重新初始化程序。

b:如果我們機(jī)器人客戶端未接收到數(shù)據(jù)程序依然會(huì)往下繼續(xù)運(yùn)行,這樣就會(huì)影響我們的程序流程,如圖3-2所示(未接收到數(shù)據(jù),程序依然往下運(yùn)行,當(dāng)運(yùn)行到索引字符串轉(zhuǎn)換時(shí)沒有數(shù)據(jù)程序就會(huì)報(bào)錯(cuò),這時(shí)程序已經(jīng)停止需要重新初始化程序)。

圖3-1


圖3-2

2.為了避免以上a.b兩種情況發(fā)生,我們可以在接收數(shù)據(jù)之前通過“socket_is_connected()”判斷與服務(wù)器連接的狀態(tài)如果斷開重新連接,并通過再次接收接收指令例如“socket_read_string(timeout=2)”的返回值判斷是否接收到數(shù)據(jù),返回值為0時(shí),再次接收數(shù)據(jù),如圖3-3所示,以用下面代碼3-1配合圖3-3的圖形化編程直接調(diào)用df腳本實(shí)現(xiàn)此操作。

圖3-2


圖3-3

代碼3-1


3.常見問題解答

  1. 機(jī)器人應(yīng)用版本必須是2.12及以上
  2. 以上代碼是以發(fā)送字符串和讀取字符串為例,如果想發(fā)送/讀取其他數(shù)據(jù)類型,只需要更換代碼中的socket_send_string/socket_read_string即可,具體指令參考CS機(jī)器人腳本手冊(cè)下載中心_機(jī)器人技術(shù)-艾利特機(jī)器人

腳本文件:socket.script



download-669.svg comicon14.svg

電話咨詢

download-397.svg comicon15.svg

免費(fèi)試用

Vector.svg Frame.svg

微信小程序

img1.jpg

微信小程序

準(zhǔn)備好突破增長(zhǎng)瓶頸,開啟智能制造了嗎?
了解我們的機(jī)器人如何幫助您的業(yè)務(wù)增長(zhǎng)
歡迎下載艾利特機(jī)器人資料

我已閱讀并同意艾利特《隱私政策》《法律聲明》

我已知曉并同意艾利特通過電子郵件發(fā)送相關(guān)資料

提交