亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Java > 正文

一篇不錯的介紹Java Socket編程的文章

2019-11-17 06:34:33
字體:
來源:轉載
供稿:網友
    事實上網絡編程簡單的理解就是兩臺計算機相互通訊數據而已.對于程序員而言,去把握一種編程接口并使用一種編程模型相對就會顯得簡單的多了.java SDK提供一些相對簡單的Api來完成這些工作.Socket就是其中之一.對于Java而言.這些Api存在與java.net 這個包里面.因此只要導入這個包就可以預備網絡編程了. 
    網絡編程的基本模型就是客戶機到服務器模型.簡單的說就是兩個進程之間相互通訊,然后其中一個必須提供一個固定的位置,而另一個則只需要知道這個固定的位置.并去建立兩者之間的聯系..然后完成數據的通訊就可以了.這里提供固定位置的通常稱為服務器,而建立聯系的通常叫做客戶端.基于這個簡單的模型,就可以進入網絡編程啦.
     Java對這個模型的支持有很多種Api.而這里我只想介紹有關Socket的編程接口.對于Java而言已經簡化了Socket的編程接口.首先我們來討論有關提供固定位置的服務方是如何建立的.Java提供了ServerSocket來對其進行支持.事實上當你創建該類的一個實力對象并提供一個端口資源你就建立了一個固定位置可以讓其他計算機來訪問你.ServerSocket server=new ServerSocket(6789);這里稍微要注重的是端口的分配必須是唯一的.因為端口是為了唯一標識每臺計算機唯一服務的.另外端口號是從0~65535之間的,前1024個端口已經被Tcp/ip 作為保留端口,因此你所分配的端口只能是1024個之后的.好了.我們有了固定位置.現在所需要的就是一根連接線了.該連接線由客戶方首先提出要求.因此Java同樣提供了一個Socket對象來對其進行支持.只要客戶方創建一個Socket的實例對象進行支持就可以了.Socket client=new Socket(InetAddress.getLocalHost(),5678);客戶機必須知道有關服務器的IP地址.對于著一點Java也提供了一個相關的類InetAddress 該對象的實例必須通過它的靜態方法來提供.它的靜態方法主要提供了得到本機IP 和通過名字或IP直接得到InetAddress的方法.
    好了.上面的方法基本可以建立一條連線讓兩臺計算機相互交流了.可是數據是如何傳輸的呢?事實上I/O操作總是和網絡編程息息相關的.因為底層的網絡是繼續數據的.除非遠程調用,處理問題的核心在執行上.否則數據的交互還是依靠于IO操作的.所以你也必須導入java.io這個包.java的IO操作也不復雜.它提供了針對于字節流和Unicode的讀者和寫者,然后也提供了一個緩沖用于數據的讀寫.
BufferedReader in=new BufferedReader(new InputStreamReader(server.getInputStream()));
PRintWriter out=new PrintWriter(server.getOutputStream());
    上面兩句就是建立緩沖并把原始的字節流轉變為Unicode可以操作.而原始的字節流來源于Socket的兩個方法.getInputStream()和getOutputStream()方.分別用來得到輸入和輸出.那么現在有了基本的模型和基本的操作工具.我們可以做一個簡單的Socket例程了.
服務方:
import java.io.*;
import java.net.*;

public class MyServer {
public static void main(String[] args) throws IOException{
ServerSocket server=new ServerSocket(5678);
Socket client=server.accept();
BufferedReader in=new BufferedReader(new InputStreamReader(client.getInputStream()));
PrintWriter out=new PrintWriter(client.getOutputStream());
while(true){
String str=in.readLine();
System.out.println(str);
out.println("has receive....");
out.flush();
if(str.equals("end"))
break;
}
client.close();
}
}

這個程序的主要目的在于服務器不斷接收客戶機所寫入的信息只到.客戶機發送"End"字符串就退出程序.并且服務器也會做出"Receive"為回應.告知客戶機已接收到消息.

客戶機代碼:
import java.net.*;
import java.io.*;

public class Client{
static Socket server;

public static void main(String[] args)throws Exception{
server=new Socket(InetAddress.getLocalHost(),5678);
BufferedReader in=new BufferedReader(new InputStreamReader(server.getInputStream()));
PrintWriter out=new PrintWriter(server.getOutputStream());
BufferedReader wt=new BufferedReader(new InputStreamReader(System.in));

while(true){
String str=wt.readLine();
out.println(str);
out.flush();
if(str.equals("end")){
break;
}
System.out.println(in.readLine());
}
server.close();
}
}

客戶機代碼則是接受客戶鍵盤輸入,并把該信息輸出,然后輸出"End"用來做退出標識.

這個程序只是簡單的兩臺計算機之間的通訊.假如是多個客戶同時訪問一個服務器呢?你可以試著再運行一個客戶端,結果是會拋出異常的.那么多個客戶端如何實現呢?

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品成人播放| 97碰在线观看| 欧美激情极品视频| 97av在线视频免费播放| 日韩在线观看你懂的| 中文亚洲视频在线| 久久久在线视频| 国产精欧美一区二区三区| 国产欧美一区二区三区在线| 亚洲伦理中文字幕| 国产成人亚洲精品| 国产精品99久久久久久久久久久久| 国产精品1区2区在线观看| 91在线视频免费| 国产精品h片在线播放| 欧美精品性视频| 国产精品h片在线播放| 黄色一区二区在线| 美女性感视频久久久| 国产69久久精品成人看| 69久久夜色精品国产69乱青草| 日韩精品视频在线| 中文字幕欧美日韩在线| 日韩电影在线观看中文字幕| 精品精品国产国产自在线| 欧美国产日韩一区二区| 欧美一级电影久久| 亚洲天堂免费观看| 久久久亚洲精品视频| 最近的2019中文字幕免费一页| 九九热在线精品视频| 51ⅴ精品国产91久久久久久| 欧美另类第一页| 欧美在线视频a| 欧美俄罗斯性视频| 日韩精品在线视频观看| 欧美视频国产精品| 欧美丰满少妇xxxx| 97视频com| 日韩高清av在线| 97色伦亚洲国产| 国产精品三级美女白浆呻吟| 成人黄色激情网| 粗暴蹂躏中文一区二区三区| 久久久久五月天| 日本午夜精品理论片a级appf发布| 欧美国产高跟鞋裸体秀xxxhd| 欧美裸体xxxx| 国产欧美精品在线播放| 91亚洲精品一区二区| 668精品在线视频| 日本一区二三区好的精华液| 亚洲精品mp4| 国产婷婷色综合av蜜臀av| 欧美性jizz18性欧美| 欧美激情视频给我| 久久精品福利视频| 日韩av三级在线观看| 亚洲国产精品999| 精品在线观看国产| 欧美wwwxxxx| 欧美日韩一区二区三区在线免费观看| 亚洲成人精品久久久| 国产主播在线一区| 丝袜美腿精品国产二区| 亚洲自拍在线观看| 日韩av电影手机在线观看| 精品国产一区久久久| y97精品国产97久久久久久| 精品露脸国产偷人在视频| 一本色道久久88精品综合| 久久久99免费视频| 国产精品视频最多的网站| 日韩在线视频二区| 久久久久久久久网站| 色天天综合狠狠色| 91亚洲精品久久久| 国产精品久久久久久久久影视| 亚洲人成电影网站色www| 亚洲精品日韩av| 日韩视频亚洲视频| 97视频在线观看播放| 精品久久久一区二区| 欧美大成色www永久网站婷| 久久久久久久久久久久av| 亚洲欧美日韩一区二区三区在线| 国产视频亚洲精品| 国产精品亚洲视频在线观看| 亚洲精品少妇网址| 国产精品入口日韩视频大尺度| 成人网页在线免费观看| 日本亚洲欧洲色α| 大量国产精品视频| 国产盗摄xxxx视频xxx69| 欧美综合在线第二页| 亚洲最新av网址| 日韩电影第一页| 国产精品自产拍在线观看| 亚洲区bt下载| 国产日韩综合一区二区性色av| 深夜福利国产精品| 波霸ol色综合久久| 国产专区精品视频| 久久国产加勒比精品无码| 国模gogo一区二区大胆私拍| 一道本无吗dⅴd在线播放一区| 97涩涩爰在线观看亚洲| 亚洲自拍中文字幕| 欧美久久精品午夜青青大伊人| 精品国产一区二区三区久久久狼| 国产视频精品免费播放| www.精品av.com| 亚洲奶大毛多的老太婆| 成人动漫网站在线观看| 性欧美暴力猛交69hd| 亚洲欧美国产高清va在线播| 亚洲午夜久久久久久久| 视频一区视频二区国产精品| 欧美亚洲国产成人精品| 夜夜嗨av一区二区三区四区| 欧美激情精品久久久久久变态| 欧美性视频精品| 亚洲天堂影视av| 国产成人av网址| 国产精品久久久久久久久久三级| 久久天天躁狠狠躁夜夜av| 国产欧美日韩中文| 欧美小视频在线| 91极品女神在线| 亚洲色图美腿丝袜| 亚洲免费高清视频| 国产欧美日韩91| 欧美国产中文字幕| 亚洲视频专区在线| xxav国产精品美女主播| 成人免费网视频| 日韩电影中文字幕在线| 日韩中文在线中文网在线观看| 日本在线观看天堂男亚洲| 精品久久久久久久久久久久久久| 91精品国产高清自在线看超| 亚洲精品综合精品自拍| 日韩欧美国产高清91| 丝袜美腿精品国产二区| 一本色道久久88精品综合| 欧美成人一区二区三区电影| 日本成人精品在线| 黄色精品一区二区| 日本精品视频在线观看| 国产日韩精品视频| 91久久久久久久| 国产视频精品xxxx| 日韩69视频在线观看| 欧美一级大片在线免费观看| 日韩精品在线第一页| 中文日韩在线观看| 国产一区二区美女视频| 久久天天躁狠狠躁夜夜爽蜜月| 午夜精品一区二区三区视频免费看| 久久久精品久久| 亚洲第一综合天堂另类专| 九九久久综合网站| 国产一区二区在线免费视频| 亚洲欧洲在线看|