關鍵是傳送端每write一次就要flush一次,否則容易出錯。
傳送時要先傳送檔案的長度,然後才是檔案的內容。
先來傳送端,主要的**:
int tempcount = 0;
system.out.print("server start");
serversocket serversocket;
try
public static void receivefile(datainputstream inpstr) throws ioexception
fileoutputstream fos = new fileoutputstream(fileout);
int buffersize = 8192;//使用8192,是因為socket自帶的緩衝區大小是這個,似乎大小匹配了,傳輸效率更高
byte buf = new byte[buffersize];
while (true)
else
length -= buffersize;
}fos.close();
}
乙個socket原始碼
vc編寫伺服器 式的聊天室 2009 9 11 本文參考了 visual c 6.0完全自學手冊 中的示例 一 流程說明 客戶端客戶端建立流式套接字 呼叫connection向伺服器傳送連線請求 連線成功後使用建立與之關聯的的csocketfile物件和carchive物件 使用carchive物件...
乙個socket原始碼
vc編寫伺服器 式的聊天室 2009 9 11 本文參考了 visual c 6.0完全自學手冊 中的示例 一 流程說明 客戶端客戶端建立流式套接字 呼叫connection向伺服器傳送連線請求 連線成功後使用建立與之關聯的的csocketfile物件和carchive物件 使用carchive物件...
乙個socket小程式
一直對c c 下的socket程式設計必是很熟悉,今天終於完成了乙個很簡單的server client程式 伺服器 include include pragma ment lib,ws2 32.lib using namespace std const int my error 1 int main...