一、需求:
建立乙個文字轉換伺服器
客戶端給服務端傳送文字,服務端會將文字轉成大寫在返回給客戶端
而且客戶端可以不斷的進行文字轉化。當客戶端輸入over時轉換結束。
二、分析及**實現:
1、客戶端:
既然是操作裝置上的資料,那麼就可以使用io的操作規律來思考。
源:鍵盤錄入
目的:網路裝置,網路輸出流
而且操作的是文字資料,可以選擇字元流
都是文字資料,可以使用字元流進行操作,同時提高效率,加入緩衝
步驟:(1)建立服務
(2)獲取鍵盤錄入
(3)將資料發給服務端
(4)獲取服務端返回的大寫資料
(5)結束,關閉資源
class transclient
bufr.close();//關閉讀取流物件
s.close();//關閉客戶端}}
2、 服務端:
源:socket讀取流
目的:socket輸出流
都是文字,裝飾
class transserver
s.close();//關閉接受資料服務
ss.close();//關閉服務端}}
三、總結
通過該例子的學習與分析,該例子出現的問題。 現象:客戶端和服務端都在莫名的等待, 為什麼呢? 因為客戶端和服務端都有阻塞式方法,這些方法沒有讀到結束標記。那麼就一直等 而導致兩端,都在等。此練習還複習,字母大小的轉換,字元流的讀取與寫入操作,還有字元流寫入時要記得重新整理。
Python 網路程式設計練習 TCP程式設計
socket是網路程式設計的乙個抽象概念。通常我們用乙個socket表示 開啟了乙個網路鏈結 而開啟乙個socket需要知道目標計算機的ip位址和埠號,再指定協議型別即可。大多數連線都是可靠的tcp連線。建立tcp連線時,主動發起連線的叫客戶端,被動響應連線的叫伺服器。客戶端 do client.p...
TCP網路程式設計
基於tcp 通訊模型 由上圖可以得出tcp通訊的步驟如下 服務端 1 建立乙個socket,用函式socket 2 繫結ip位址 埠等資訊到socket上,用函式bind 3 設定允許的最大連線數,用函式listen 4 等待來著客戶端的連線請求,用函式accept 5 收發資料,用函式send 和...
網路程式設計 TCP
客戶端 1.建立客戶端的socket服務,指定目的主機和埠 2.為了傳送資料,應該獲取socket中的輸出流 3.獲取socket中的輸入流來獲取服務端的反饋資料 4.關閉資源 服務端 1.建立服務端的serversocket服務,並監聽乙個埠 2.通過accept方法 等待並獲取連線過來的客戶端s...