1. 程式人生 > >黑馬程式設計師 【】java學習之路——TCP客戶端和服務端的建立

黑馬程式設計師 【】java學習之路——TCP客戶端和服務端的建立

                                          ------- android培訓java培訓、期待與您交流! ----------

演示TCP傳輸
1:tcp分客戶端和服務端
2:客戶端對應的物件是Socket
   服務端對應的是ServerSocket
演示:tcp的客戶端和服務端的互訪
 需求:客戶端給服務端傳送資料,服務端收到後,給客戶端反饋資訊
*/
/*
客戶端:
通過查閱socket物件,發現在該物件建立時,就可以連線指定的主機。
因為TCP是面向連線的,所以在建立Socket服務時,就要有服務端在,並連線成功,
形成通路後,在該通道進行資料的傳輸
需求:給服務端傳送一個文字資料。


步驟:
1,建立Socket服務,並指定要連線的主機介面。
2,獲取socket流中的輸出流,將資料寫到該流中,通過網路傳送到服務端。
3,獲取socket流中的輸入流,講服務端反饋的資料獲取到並列印。


*/
import java.io.*;
import java.net.*;
class TcpClient 
{
public static void main(String[] args) throws Exception 
{
//建立客戶端的socket服務。指定目的主機和埠
Socket s = new Socket("192.168.1.104",10003);
//為了傳送資料,應該獲取socket流中的輸出流
OutputStream out = s.getOutputStream();
out.write("哥們你好 ".getBytes());
InputStream in = s.getInputStream();
byte [] buf = new byte[1024];
int len = in.read(buf);
System.out.println(new String(buf,0,len));
s.close();
}
}
/*
需求:
定義端點接收資料,並列印在控制檯上
服務端
1,建立服務端的Socket服務。ServerSocket();並監聽一個埠。
2,獲取連結過來的客戶端物件。通過serversocket的accept方法。沒有連線就會等。所以這個方法是阻塞式的。
3,客戶端如果發過來資料,那麼服務端要使用對應的客戶端物件,並獲取到該客戶端物件的讀取流來讀取發過來的資料。
4,關閉服務端(可選的,不一定要關掉)
*/
class TcpServer
{
public static void main(String[] args) throws Exception 
{
//建立服務端的socket並監聽一個埠。
ServerSocket ss = new ServerSocket(10003);
//通過accept方法獲取連線過來的客戶端物件
Socket s = ss.accept();
String ip = s.getInetAddress().getHostAddress();
System.out.println(ip+"//////connectede");
//獲取客戶端傳送過來的資料,那麼要使用客戶端物件的讀取流方法來讀取資料。
InputStream in = s.getInputStream();
byte [] buf = new byte[1024];
int len = in.read(buf);
System.out.println(new String(buf,0,len));
OutputStream out = s.getOutputStream();
out.write("哥們收到了,你也好".getBytes());
s.close();//關閉客戶端
ss.close();
}
}

相關推薦

黑馬程式設計師 java學習——TCP客戶服務建立

                                          ------- android培訓、java培訓、期待與您交流! ---------- 演示TCP傳輸 1:tcp分客戶端和服務端 2:客戶端對應的物件是Socket    服務端對應的是S

黑馬程式設計師 java學習——TCP(三)客戶上傳檔案到伺服器

import java.net.*; class  TextClient {public static void main(String[] args) throws Exception{Socket s = new Socket("192.168.1.104",10010);BufferedReader b

黑馬程式設計師 java學習——列舉小結

                                     ------- android培訓、java培訓、期待與您交流! ---------- (注:小弟剛自學一小段時間,這是我學習中的認識,簡單總結下,大神們不要拍我哈 , 說的不對之處還請指出來,多多

黑馬程式設計師 java學習——代理小結

                                          -------android培訓、java培訓、期待與您交流! ----------          第一次看代理說實話是一點也沒看懂,聽的雲裡霧裡的,沒辦法接著看第二遍吧,第二遍看完終於

黑馬程式設計師 java學習——小小的學習心得

                                               ------- android培訓、java培訓、期待與您交流! ----------              又是一個夜深人靜的晚上!這種生活已經有點習慣了!因為我已經破釜沉舟

黑馬程式設計師 java學習——網路程式設計 UDP 鍵盤錄入傳輸

import java.net.*; import java.io.*; class UdpRece2  {public static void main(String[] args) throws Exception{DatagramSocket ds = new DatagramSocket(10001)

黑馬程式設計師 java學習——GUI開始簡析三

------- android培訓、java培訓、期待與您交流! ---------- 需求:實現如下視窗,功能:能夠轉到相應的碟符下顯示該盤內的內容 <span style="font-size:18px;">import java.awt.*; impor

javajava學習-01-Linux基礎(一)

x文件 字母 at命令 超過 用戶登錄 創建刪除 軟連接 nbsp tail linux學習方法: 你的程序要在服務器(linux)上執行,服務器沒有桌面系統,學習linux就是學習命令。 一、Linux介紹 1、芬蘭大學生,名字叫Linux,因為個人興趣,編寫了一個類Un

Android從程式設計師到架構師學習視訊

01 - 複習基本OOP知識a02 - 複習基本OOP知識b03 - 複習基本OOP知識c04 - 複習基本OOP知識d05 - 架構設計的UML圖形思考a06 - 架構設計的UML圖形思考b07 - 架構設計的UML圖形思考c08 - 業務內涵的分析抽象&amp;表

程式設計師如何開啟機器學習

我曾是一名想進入AI行業的軟體開發者。為了更快熟悉這裡邊的門道,我閱讀了機器學習的書籍,瀏覽了不少帖子,還學習了Coursera上關於機器學習的課程。 但是,但是,依然不知道如何開始…… 你是否也有這樣的經歷呢? 很多開發者都問我:我該如何開始學習機器學習? 記不

黑馬程式設計師Java基礎篇語言基礎———for巢狀迴圈練習題

------- android培訓、java培訓、期待與您交流! ---------    上篇分享和總結了Java語言基礎程式流程控制和函式; 那麼接下來我繼續為大家分享for巢狀迴圈2道練習題。 /** * 第1題:用控制檯程式倒著輸出九九乘法表;輸出結果按下圖所示

Java學習---1List的ArrayListLinkedList的KTV點歌系統修改

本程式碼是參考書籍敲出 ,加入了部分自己的東西讓程式完善一些,謝謝!!! KTVArrayList程式碼: 1 import java.util.Scanner; 2 import java.util.ArrayList; 3 4 public class KTVByArrayList {

java學習筆記JAVA自學 JAVA自學 ___轉知乎

一:J2SE 面向物件-封裝、繼承、多型 記憶體的分析   遞迴 集合類、泛型、自動打包與解包、Annotation   IO 多執行緒、執行緒同步      TCP/UDP AWT、事件模型、匿名類      正則表示式 反射機制 二:資料庫(Oracle或者MySQL) SQL語句 多表連線,內外連線

Java學習如何去除數組裡面的0

現有如下一個陣列:   int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5}    要求將以上陣列中值為0的項去掉,將不為0的值存入一個新的陣列,生成的新陣列為: int newArr [] ={1,3,4,5,6,6,5,4,7,6

黑馬程式設計師_java基礎加強學習筆記註解

------- <a href="http://www.itheima.com" target="blank">android培訓</a>、<a href="http://www.itheima.com" target="blank">j

fanさんのjavajava學習

大學畢業一年,重新執起編碼這雙手,用程式碼書寫未來,此番新開,名曰:fanさんのjava之路。 大學期間學習了c++和少量的c#,從程式設計中學到了很多知識,亦學會了用程式設計的思想去解決生活和工作中的諸類事情。程式設計之於我,有千萬益處而無一害,我喜愛程式設計,看見程式碼

黑馬程式設計師濟南我的“黑馬”經歷

“黑馬程式設計師”,已經記不起是從哪一年開始知道的這個名字,但是從下筆之日起,我已經在黑馬的培訓班裡度過了五個月有餘.最初對於java,對於培訓機構,是一點準備都沒有的,也從未想過有一天自己會來到培訓班學習,我的大學專業是軟體技術,相比於今天的選擇來說,講的好聽點叫科班出身,

傳智播客黑馬程式設計師畢老師Java視訊學習資料,風趣幽默

內容包含java學習25天的視訊資料 https://pan.baidu.com/s/1S8pLkcOShW8V5FipUGKG_w 密碼:9csv 我用的是迅雷影音,其他的播放器可能會只有聲音沒有影象

Java自學——by馬士兵

推薦 行業 zha 而是 異常處理 復習 價值 連接 cookie 作者:馬士兵老師 JAVA自學之路 一:學會選擇 為了就業,不少同學參加各種各樣的培訓。 決心做軟件的,大多數人選的是java,或是.net,也有一些選擇了手機、嵌入式、遊戲、3G、測試等。 那麽

python3的學習數據類型變量

添加 變量 之路 get 學習 如果 地板 www ins 整數 python可以處理任意大小的整數(包括負整數),如100,0,-8080等。 浮點數 浮點數也就是小數,如1.23,-9.01等。但對於很大或很小的浮點數,就必須用科學計數法表示,把10用e代