Beetle簡單構建TCP服務

2021-09-08 09:02:27 字數 2446 閱讀 5820

使用beetle構建tcp服務應用是件非常簡單的事情,它並不需要你去關注socket細節,如果你想用socket編寫高效能的tcp服務,那你要關注的東西非常多,非同步資料處理,大量連線下的執行緒管理和連線斷相關資源處理等等複雜的事情;使用beetle那以上的事情完全都可以不用關心,因為beetle都已經幫你處理好.而你需要做的只需要簡單的定義相關物件和繫結相關處理事件即可. 以下是通過beetle實現乙個簡單的tcp服務

在使用元件的需要對元件進行初始,可以在配置檔案進行實始化資訊配置

配置了相關資訊後,可以呼叫以下**進行元件初始化

beetle.tcputils.setup("beetle");//初始化元件
初始化元件只能執行一次,可以在程式開始的時候呼叫.

使用元件構建乙個tcp服務是很簡單,你並不需要關心socket也不需要知道怎麼用.元件提供乙個serverbase基礎類,只需要繼承它簡單重寫幾個方法即可以完成tcp服務的編寫.

class program:beetle.serverbase

connected!", e.channel.endpoint);

}protected override void ondisposed(object sender, beetle.channeldisposedeventargs e)

disposed!", e.channel.endpoint);

}protected override void onerror(object sender, beetle.channelerroreventargs e)

error !", e.channel.endpoint,e.exception.message);

}protected override void onreceive(object sender, beetle.channelreceiveeventargs e)

}

以上實現乙個簡單的tcp服務,並重寫了4個方法分別是:

onconnected 連線接入過程

ondisposed    連線釋放過程

onerror           連線處理錯誤過程

onreceive       連線資料接收過程

實現乙個tcp服務後,只需要建立相關物件並監聽到對應的ip和埠即可

program server = new program();

server.open(9321);

c.writeline("server started @9321");

元件可以通過tcpserver的createclient方法建立乙個連線,在使用元件進行client連線的時候也需要做對應的實始化工具,和服務端實始化一樣.配置好後只需要以下**就能建立乙個連線.

//連線到指定ip的埠服務

channel = beetle.tcpserver.createclient(txtipaddress.text, 9321);

//繫結資料流接收事件

channel.datareceive = onreceive;

//連線斷開事件

channel.channeldisposed += ondisposed;

//開始接收資料

channel.beginreceive();

建立連線後,需要傳送乙個訊息也是很簡單.

beetle.stringmessage msg = new beetle.stringmessage();

msg.value = richtextbox1.text;

channel.send(msg);

通過stringmessage就可以向服務端傳送乙個string資料,當然這緊緊是乙個基礎的通訊;做過tcp的朋友應該知道這樣乙個訊息是會存在粘包問題,也不能保服務端一次接收就能接收到這個string資料.在後面的章節裡會講述beetle如何處理粘包的問題,並進行物件資料傳送.

在使用beetle構建tcp服務比起傳統socket服務會簡單很多,而使用的時候並不需要關心socket的細節;不用擔心如果管理連線和連線斷開處理的工作,對於高併發下也完全不用關心怎樣處理執行緒達到更佳的效果,以上這麼多複雜和煩鎖的工作beetle都幫你完成了,而你將會有更多的時間去關心邏輯上的細節.

Beetle簡單構建TCP服務

使用beetle構建tcp服務應用是件非常簡單的事情,它並不需要你去關注socket細節,如果你想用socket編寫高效能的tcp服務,那你要關注的東西非常多,非同步資料處理,大量連線下的執行緒管理和連線斷相關資源處理等等複雜的事情 使用beetle那以上的事情完全都可以不用關心,因為beetle都...

簡單TCP伺服器構建 python

1.建立socket 在這裡我們直接匯入socket模組,然後建立socket物件,socket類初始化時需要賦引數,因為我們這裡建立的是tcp服務,所以就不應改動,如果建立udp服務時則應該改為family af inet,type sock dgram socket類構建方法引數型別 2.客戶端...

TCP的服務簡單介紹

1 引言 儘管t c p和u d p都使用相同的網路層 i p t c p卻向應用層提供與u d p完全不同的服務。t c p提供一種面向連線的 可靠的位元組流服務。面向連線意味著兩個使用 t c p的應用 通常是乙個客戶和乙個伺服器 在彼此交換資料 之前必須先建立乙個 t c p連線。這一過程與打...