已采納回答 / 阿葉主公
// 客戶端發送數據 private void sendData(Socket socket, String data) throws IOException { // 獲取輸出流,向服務器端發送信息 // 字節輸出流 OutputStream oStream = socket.getOutputStream(); PrintWriter pWriter = new PrintWriter(oStream); // 將輸出流包裝為打印流 pWriter.write(data); // 調用f...
2017-06-15
已采納回答 / 慕粉1356576729
簡單來講就是shutDownOutput只關閉了輸出流,輸入流還可以正常使用;而close則是會在關閉流的同時造成socket的關閉,輸入輸出流都不能用了,詳細的可參考:http://www.cnblogs.com/549294286/p/3947767.html
2017-05-08
已采納回答 / 田心楓
它就是一個函數庫,里面包括大量的函數和相應的數據結構,已經實現好了。 它支持網絡通信。 程序開發人員可以通過閱讀相關的函數文檔,了解函數的使用方法,進行網絡的編程。 兩種形式的socket:流式套接字,對應與TCP協議。
2017-04-16
已采納回答 / 起飛了
java把要發的數據先放到緩沖區,緩沖區放滿以后再一次性發過去,而不是分開一次一次地發.而flush()表示強制將緩沖區中的數據發送出去,不必等到緩沖區滿.
2017-04-12
已采納回答 / 綠洲仙人球
建議在cmd中輸入命令去關閉端口命令為查看當前端口的進程號:netstat -aon|findstr "9050" ?根據進程號殺掉進程:taskkill /f /pid 進程號
2017-04-06
已采納回答 / Navy_D
沒有上下文的代碼只能猜測,強答一發。socket.close()這個方法調用是需要具體的對象的如Socket socket = new Socket(8888);如果沒有對象只有引用,那么就會初始化為null,在null這個無意義的數據上是無法產生有意義的結果的。有點偏題。。。。socket如果不為空,那么一定有一個Socket對象被打開,當使用完后資源沒有close就會占用資源,可能造成別的程序無法訪問資源。。。但是這個if是感覺沒必要的,在null上調用close是沒有意義的,個人見解,歡迎指教
2017-04-05