asp.net+android+io開發s、.net培訓、期待與您交流!
一、例項tcp實現上傳,對需求的分析
客戶端:1、建立socket服務
2、讀取客戶端已有的資料,這裡只能用位元組流運算元據
3、通過socket輸出流將資料傳送到伺服器端,並將資料轉化為資訊
4、讀取伺服器返饋的資訊
5、關閉
一下為客戶端的**:
//1,建立socket服務
s = new socket(inetaddress.getlocalhost(),10006);
//2、將轉化為位元組流,並寫入到socket的輸出流中
s.shutdownoutput();//3、設定結束標記為-1
//4、讀取服務端的回應資訊
inputstream in = s.getinputstream();
byte bufin = new byte[1024];
while((len = in.read(bufin))>0)
伺服器端:1、建立socket服務,這時使用serversocket,並獲得客戶端的socket物件
2、利用客戶端socket物件獲得輸入流,並將輸入流資訊,輸出到fileoutputstream物件中
3、給客戶端回應相關資訊
4、關閉連線資源
server端**:
//1、建立socket服務,這時使用serversocket,並獲得客戶端的socket物件
ss = new serversocket(10006);
socket s = ss.accept();
//2、利用客戶端socket物件獲得輸入流,並將輸入流資訊,輸出到fileoutputstream物件中
//3、給客戶端回應相關資訊
outputstream out = s.getoutputstream();
out.write("上傳成功".getbytes());
// 4、關閉連線資源
fos.close();
s.close();
二、如何解決服務端因乙個連線而造成的等待現象
利用多執行緒實現多個客戶端同時上傳檔案,並將檔案按照ip位址分開,如果檔案已存在,則將檔名用計數的方式分開,由上面server端的**我們知道在每次建立客戶端物件後會產生等待問題,所以我們將客戶端物件所坐的動作放到執行緒中去,這樣可以實現客戶併發的向服務端傳送
執行緒**
private socket s;
picthread(socket s)
public void run()
三、簡單的伺服器實現
利用多執行緒與socket技術實現簡單的伺服器,使用多執行緒技術,可以被多使用者訪問
ss = new serversocket(10100);
while(true)
多執行緒部分class serverthread implements runnable
@override
public void run()
file.close();//4、關閉流資源
asp.net+android+ios開發、.net培訓、期待與您交流!
黑馬程式設計師 網路程式設計
asp.net android ios開發 net培訓 期待與您交流!1.套接字 socket 用於描述 ip位址和埠,是乙個通訊鏈的控制代碼 就是兩個程式通訊用的 類似於 2.有兩種型別 流式socket 是一種面向連線的 socket 針對於面向連線的 tcp服務應用,安全,但效率低 資料報式 ...
黑馬程式設計師 網路程式設計
asp.net android ios開發 net培訓 期待與您交流!1 網路程式設計 1 網路程式設計 通過程式語言實現計算機鍵的資料通訊。2 網路程式設計的三要素 a ip位址。網路中每一台計算機的唯一標識。b 埠 用於標識程序的邏輯位址 c 協議 定義通訊規則 舉例 我要和小青說話。a 找到小...
黑馬程式設計師 網路程式設計
asp.net unity開發 net培訓 期待與您交流!網路傳輸過程 1,找到對方ip 2,資料傳送到指定埠 每個應用程式對應乙個埠 3,定義通訊規則,即協議 tcp ip tcp 1,面向連線,形成傳輸資料的通道 像打 2,連線中進行大量資料量傳輸 3,可靠協議,三次握手,4,必須建立連線,效率...