国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

基于多線程的TCP服務器項目【開源】

2019-11-17 02:59:56
字體:
來源:轉載
供稿:網友

基于多線程的TCP服務器項目【開源】

本文提供一個完整的TCP Server實例,包括動態連接庫、單元測試、驗收測試、Winform模擬測試。供新手學習,還望老手多提意見。

項目地址:https://tcpserversocket.codeplex.com/(可直接Download項目工程)

系統結構

項目文件如下:

TcpServerSocket:項目核心動態鏈接庫,如果在別的項目中使用,只用引用該項目生成的DLL即可;

WindowsFormsapplication1:一個簡單的winform應用程序,讓你快事了解如何在WinForm中使用;

UnitTestPRoject:單元測試;

AcceptanceTest:驗收測試,模擬高速連接斷開的客戶端,快速數據發送。

項目的核心是使用TcpListener進行監聽,使用NetworkStream進行TCP數據流讀寫。服務器的核心原理如下圖:

系統測試

WindowsFormsApplication1 + 網絡調試助手測試效果:

WindowsFormsApplication1 + AcceptanceTest效果:

如何使用

可以在你的項目中添加生成的TcpServerSocket.dll,然后簡單幾句代碼就可以開啟TCP Server之旅!

 var tcp = new TcpServer {     RecvNewClientAction = handler => Debug.WriteLine("recv new client: " + handler),     LostClientAction = handler => Debug.WriteLine("lost client :" + handler),      RecvDataAction = (ip, data, len) => Debug.WriteLine("{0}:{1}", ip, Encoding.ASCII.GetString(data, 0, len)),     ListenPort = 8080 }; tcp.StartListen();

后續開發

程序主要一個問題是處理斷網、客戶端程序突然崩潰等非正常斷線情況。本來是想在程序中加心跳處理,但這樣的話就增加了程序的復雜性。希望各位大大們指點迷津!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 屏山县| 前郭尔| 巩义市| 贵定县| 且末县| 新龙县| 罗江县| 区。| 柯坪县| 包头市| 临沧市| 榆树市| 汾西县| 怀来县| 八宿县| 海口市| 广西| 衡南县| 永寿县| 仁布县| 洪雅县| 沁源县| 广饶县| 施秉县| 桓台县| 普安县| 永丰县| 汶上县| 垦利县| 光山县| 鹤岗市| 曲周县| 贡觉县| 云安县| 图们市| 三河市| 永和县| 林西县| 陇西县| 长子县| 镶黄旗|