国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > Java > 正文

Java網(wǎng)絡編程之TCP程序設計

2024-07-14 08:42:07
字體:
來源:轉載
供稿:網(wǎng)友

本文實例為大家分享了Java網(wǎng)絡編程TCP程序設計的具體代碼,供大家參考,具體內容如下

[1] TCP編程的主要步驟

客戶端(client):

1.創(chuàng)建Socket對象,構造方法的形參列表中需要InetAddress類對象和int型值,用來指明對方的IP地址和端口號

2.通過Socket對象的getOutputStream()方法返回OutputStream抽象類子類的一個對象,用來發(fā)送輸出流。

3.通過輸出流的write方法輸出具體的信息。

4.關閉相應的流和Socket對象。

服務端(server):

1.創(chuàng)建ServerSocket類的對象,在構造器中指明端口號。

2.調用ServerSocket類對象的accept()方法,返回一個Socket類的實例。

3.通過Socket實例的getInputStream()方法獲取一個輸入流,用來接收來自客戶端的信息。

4.利用輸入流接收數(shù)據(jù),并處理數(shù)據(jù)。

5.關閉相應的流、Socket對象、ServerSocket對象。

[2] Java源程序 ( 注意:在測試時先開啟服務端方法server(),再開啟客戶端方法client() )

package pack01;import java.io.*;import java.net.*;import org.junit.Test;public class TestNet1 {  @Test //***********************客戶端測試方法*********************** public void client() {    Socket socket = null; //建立客戶端網(wǎng)絡套接字  OutputStream socket_os = null; //客戶端輸出流    try {   //1.獲取本機環(huán)路地址   InetAddress inet = InetAddress.getByName("127.0.0.1");      //2.創(chuàng)建Socket對象   socket = new Socket(inet, 10000);      //3.獲取輸出流   socket_os = socket.getOutputStream();      //4.客戶端輸出信息   socket_os.write( "客戶端發(fā)送信息".getBytes() );     } catch (IOException e) {   e.printStackTrace();     } finally {      try { //關閉輸出流    socket_os.close();   } catch (IOException e) {    e.printStackTrace();   }      try { //關閉客戶端套接字    socket.close();   } catch (IOException e) {    e.printStackTrace();   }  } }  @Test //***********************服務端測試方法*********************** public void server() {    ServerSocket serSocket = null;  Socket socket = null;  InputStream socket_is = null;    try {   serSocket = new ServerSocket(10000);   socket = serSocket.accept(); //獲取服務端套接字   socket_is = socket.getInputStream(); //獲取輸入流      byte[] b = new byte[100]; //用于接收信息的字節(jié)數(shù)組   int len;   StringBuffer sb = new StringBuffer();      while( (len = socket_is.read(b)) != -1 ) {    sb.append( new String(b,0,len) ); //將字節(jié)信息連續(xù)保存在buffer數(shù)組里   }   System.out.println("來自" + socket.getInetAddress().getHostName() + "的信息:");   System.out.println( sb );     } catch (IOException e) {   e.printStackTrace();     } finally {      try { //關閉輸入流    socket_is.close();   } catch (IOException e) {    e.printStackTrace();   }      try { //關閉Socket對象    socket.close();   } catch (IOException e) {    e.printStackTrace();   }      try { //關閉ServerSocket對象    serSocket.close();   } catch (IOException e) {    e.printStackTrace();   }  } }}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網(wǎng)。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 常宁市| 措美县| 武宣县| 温州市| 永安市| 望城县| 中江县| 安仁县| 古丈县| 谢通门县| 万山特区| 广东省| 交口县| 化隆| 长武县| 津市市| 甘谷县| 双峰县| 达孜县| 新河县| 定远县| 蓝山县| 文山县| 恭城| 五家渠市| 宽甸| 姜堰市| 五华县| 德格县| 田阳县| 三穗县| 凌云县| 瓦房店市| 家居| 凤山县| 南宫市| 乳山市| 湘潭市| 徐闻县| 神池县| 成安县|