我們的專案是用dotnet實現socket連線,用多執行緒處理多使用者。我就談一下在實現過程中遇到的問題。下面是我伺服器的簡化實現。
private socket clientsocket; public void start() void mainservice() } void clientservice() receivestr=encoding.default.getstring(bb,0,bb.length); command=readlinefrom(receivestr,1).tolower();//readlinefrom讀取字串中的一行資料 switch(command) } void uploadfile(socket sock,string filename,int filesize) fs.close(); stream.close(); }
1、等待傳值給執行緒中的變數,防止多使用者造成衝突
2、客戶端連線斷開,就會不停接收0個位元組
判斷客戶端是否斷開要用這個方法實現,sokcet裡帶的connected不起作用,只要連線上,中途不出現傳送和或接收資料錯誤,客戶斷開與否都是返回true。poll(100,selectmode...)返回任何模式都是true。
3、實際接受資料時每次可能沒有10240個位元組
客戶端我就不寫了,用tcpclient連線就可以了,當然實際應用中,可能就要自己寫規則了
專案經驗小結
專案內容 專案目的 傳統的日誌,記錄的是系統訊息流,控制流或資料流方面的資訊,尤其關注出錯狀態。從而為我們分析問題提供現場,得以知道問題發生的前因後果。分析日誌之後,可以知道整個故事的情節 時間 地點 事件等等。但我們不太容易從海量的日誌中提取重要的系統效能指標或引數,以實現垂直衡量系統效能和評估系...
專案經驗分享
這是我經歷的第二個專案,這個專案相對於第乙個專案dzpay相對較簡單,介紹 第乙個專案名稱 dzpay。大宗商品交易,類似某寶 這次主要總結我測試billbank的一些個人經歷 測試第一要義就是要詳讀產品需求,產品需求中有哪些模組,每個模組中又有哪些子模組,每個模組以及子模組對應的需求點都要搞清楚。...
專案經驗1
在一開始學前端的時候,都是從模仿別人的 開始做起。基本上寫的都是純前端介面,也就是沒有和後台進行互動的介面。雖然現在已經能夠熟練的寫需求裡面各種奇奇怪怪的html文件結構,js jquery動態元素也能寫的不錯 當然了還是需要繼續學習的 但是到最近真正開始接觸大專案,前端後台分工合作的時候才發現乙個...