輕易實現基於linux或win執行的聊天服務端程式

2021-09-08 17:22:28 字數 1695 閱讀 8888

針對簡單的聊到室只需要定義登進,登出和發言這幾個訊息如下:

[messageid(0x0001)]

[protocontract]

public class login

[protomember(2)]

public string from

}[messageid(0x0003)]

[protocontract]

public class signout

[protomember(2)]

public string from

}[messageid(0x0002)]

[protocontract]

public class say

[protomember(3)]

public string from

[protomember(2)]

public string name

}

訊息定義完成那用ec來制定乙個聊天**的服務端來說則是件非常簡單的事情,只需要十來行**就可以構建聊天和服務啟動等相關功能.

[ec.controller]

public class program

public void onlogin(ec.isession session, chat.login e)

}public void onsay(ec.isession session, chat.say e)}}

};

}public string name

public string command(string cmd)

}ec同樣提供便利的client功能物件,你只需要定義簡單的**就可以向對應的服務端傳送和接收相應的訊息來處理.

ec.protoclient mclient = new ec.protoclient("127.0.0.1");

mclient.receive = (o, p) =>

else if (p.message is login)

else if (p.message is signout)

};mclient.send(new say);

借助於xamarin我們還可以同樣的方式把功能移植到不同平台下執行如android,ios等

private iservicechannel mclient = new servicechannel("10.0.2.2",10034);

protected override void oncreate (bundle bundle)

);};

findviewbyid(resource.id.btnlogin).click += delegate ;

findviewbyid(resource.id.btnsay).click += delegate ;

mclient.send(s);

};// get our button from the layout resource,

// and attach an event to it

}

這樣乙個多平台的基礎聊天功能就完成了

示例**

Linux雙系統安裝 基於win7

不管如何,經歷一天的時間還是安裝好了。學習到的知識 linux分割槽 硬碟啟動 pe 引導檔案 iso與gho的區別 準備工作 3.在win7下分出倆個區來,乙個用於linux安裝,乙個用於swap分割槽,注意格式化時一定是fat32,否則linux無法掛載。我這裡乙個是10g的安裝盤,乙個是300...

基於http或 TCP實現檔案上傳 科卓培訓

android上傳檔案有兩種方式,第一種是基於http協議的httpurlconnection,第二種是基於tcp協議的socket。這兩種方式的區別是使用httpurlconnection上傳時內部有快取機制,如果上傳較大檔案會導致記憶體溢位。如果用tcp協議socket方式上傳就會解決這種弊端。...

使用grub2引導進入Linux或Window系統

很多人在一通爛搞之後把自己的grub搞崩了 比如我當時手賤刪除了boot分割槽 雖然後來又裝了grub,但是進入grub後還是沒有引導,只有乙個孤零零的命令列介面 這時候應該怎麼辦呢?首先當然是想進入系統對grub進行配置,但是怎麼進入呢,其實只要幾行命令就能解決啦 上網查詢發現 如果系統中止於 g...