網路程式設計中Tcp練習

2021-06-26 13:50:45 字數 859 閱讀 5249

一、需求:

建立乙個文字轉換伺服器

客戶端給服務端傳送文字,服務端會將文字轉成大寫在返回給客戶端

而且客戶端可以不斷的進行文字轉化。當客戶端輸入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...