我對面的桌子沒了

2021-04-01 05:08:56 字數 1380 閱讀 2060

昨天晚上奮戰到2點,把老杜要的程式搞定了,今天發過去了。還不知道怎樣呢,今天繼續沉悶,對面的桌子也沒有了。

需要寫一點程式的總結了。

關於最近所作的程式的總結。程式完成的功能是能夠通過區域網上的一台計算機控制乙個網路內的另外一台計算機中的畫面切換功能。

完成這個功能需要兩台機器配合,執行組態的計算機可以通過fb系統功能實現畫面切換,操作的計算機能夠控制組態計算機的變數。假設a機執行組態,b機作為控制操作站。a機中的變數的改變能夠驅動執行fb進而完成畫面切換,那麼b機中要實現的任務就是改變a機中的變數。

2個方法可完成這個功能,第

一、通過opc實現,第

二、通過socket來實現。鑑於自身的經驗和技術水平,採用第二種方式,也就是socket來實現。

還是採用ly.fmlib這個命名空間中的類來實現。devicedata用來處理資料,只不過增加了dchangearray這麼乙個陣列,該陣列的作用是接受外部傳遞過來的彝族需要改變的資料。淨資料,完全不涉及命令的格式。具體拼裝完整的命令格式的工作交由fmsocket這個類來完成。

在fmsocket這個類中,增加了一組方法,說是一組方法,是因為我決定採用非同步呼叫的方式來完成一次通訊。主方法如下:

///

/// 改變開關量資料

///

public void changeddata()

catch(socketexception e)

}與該方法對應的**方法如下: 

///

/// 改變資料的方法的**方法

///

///

private void changecallback(iasyncresult ar)

catch(socketexception e)

}我在主方法和**方法中都設定了錯誤捕獲的**。希望保證socket的呼叫是成功的,在發生失敗的時候能夠提示使用者相關的錯誤資訊。

而且我在ly.fmlib這個命名空間中定義了發生錯誤的委託,這樣希望能夠給使用者乙個友好的提示。委託是這樣的:

public delegate void errorevhandler(object sender,eventargs e,string errmsg);

我把通訊過程中捕獲到的錯誤用一種錯誤訊息**出去。

注意,我在程式(fmsocket.cs)中定義了乙個陣列:

private byte rechange=; //請求改變開關量的命令

該陣列是根據要求fameview的要求設定的。其中的「212」就是說要改變開關變數的資料。在上述方法中使用了cmdlen來拼成乙個完整的資料報,然後傳送到指定的埠中,剩下的事情就是等待**的完成了。**正確完成時也就是遠端計算機中的變數被更改的時候了。

這個都不是主要的問題,主要的問題是介面上的,它耗費了我大部分時間,下次再說。

我對面試的總結

最近這段時間,公司正在進行軟體開發人員的招聘,面試了十來個人了,依然沒有找到合適的人員。想想當初我剛來北京找工作的時候,那時大學剛畢業,也沒有經驗,也走了幾家公司,找個工作也感覺不容易。現在已經過了四年了,我也漸漸在公司擔任要職,終於發現,原來公司找人與人找公司是一樣的艱難。下面,我就把我在面試過程...

我對物件導向程式設計的認識2001

注 本文是筆者2001年開始做程式設計師第乙個月時寫的,立此為照。我對物件導向程式設計的認識 1 物件導向方法都支援三種基本的活動 識別物件和類,描述物件和類之間的關 系,以及通過描述每個類的功能定義物件的行為。2 物件導向程式設計 oop 中最重要的概念是類 class 指的是資料型別,而物件 o...

兩個秘鑰庫,彼此授信對面的證書

兩個秘鑰庫,彼此授信對面的證書.1 如果是服務端秘鑰庫要與客戶端秘鑰庫不一致.則分別生成客戶端服務端證書.keytool genkey alias client keyalg rsa validity 365 keystore client.jks keytool genkey alias serv...