程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java編程那些事兒110——網絡編程小結

Java編程那些事兒110——網絡編程小結

編輯:關於JAVA

13.4 中文問題

網絡傳輸過程中的中文問題也比較突出,出現該問題的原因和前面IO部分介紹的一致,都是由於傳輸過程中客戶端程序和服務器端程序采用的字符集不一致,在解決該問題以前首先進行如下的思考:

是否在網絡中一定要傳輸中文字符?

從前面的示例中可以看出,通過一定的協議格式設計,可以避免在網絡中傳輸中文字符,這樣就從基礎上避免了中文問題的出現。例如在程序中需要傳輸“成功”、“失敗”這樣的中文字符串,在協議中可以約定數字0代表“成功”、1代表“失敗”,這樣在網絡上傳輸數字即可,在客戶端和服務器端進行簡單的變換即可。

其實這也是設計網絡協議時基本的設計技巧,通過合理的使用該技巧既可以減少網絡傳輸的數據量,也可以從根本上避免網絡傳輸過程中的中文問題。

如果必須在網絡中傳輸中文字符,例如QQ中的聊天信息,這就需要使客戶端程序使用的字符集編碼和服務器端程序使用的字符集編碼保持一致,這是中文問題解決的最基本的思路實現。

13.5 總結

關於Java語言的網絡編程,本章介紹了網絡編程的相關基礎知識,介紹了Java語言中如何進行TCP和UDP格式的網絡編程,並通過簡單的示例演示網絡編程的基本使用,通過這些內容的介紹將大家帶入網絡編程的大門,當然需要完全掌握網絡編程,還需要進行很多艱苦卓越的工作,如果閱讀本章內容比較輕松,還需要對於網絡編程進行進階的話,建議閱讀《Java 2網絡協議內幕》一書。

13.6 網絡練習

1、分別使用TCP方式和UDP方式,實現將客戶端輸入的阿拉伯數字轉換為中文大寫數字。

2、分別使用TCP方式和UDP方式,實現本章中介紹的計算器示例,體會客戶端和服務器端的功能劃分以及框架實現。

3、設計一個簡單的程序,實現向服務器端上傳文件,並實現文件在服務器端的存儲。

4、閱讀P2P網絡的相關知識,實現一個P2P的聊天程序。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved