JavaShuo
欄目
標籤
初寫TCP通訊程序
時間 2020-09-05
標籤
tcp
通訊
程序
欄目
系統網絡
简体版
原文
原文鏈接
Tcp通訊協議是基於OSI標準協議,有應用層、傳輸層、網絡層、物理層+數據鏈路層。TCP採用三次握手,
所謂「三次握手」就是A向B發出鏈接請求,B向A發出收到消息,而後A向B發出收到消息。
這樣能夠提升通訊鏈接的可靠性。TCP通訊能夠用Socket套接字實現,Socket正如它的英文名稱「插座」同樣,兩臺電腦要想實現通訊,每臺電腦就是一個插座,用一根虛擬的導線將兩個插座鏈接一塊兒,就能夠實現通訊。
下面看程序:
先看服務器端:
package
com.dr.me;
import
java.io.BufferedReader;
import
java.io.IOException;
import
java.io.InputStreamReader;
import
java.io.PrintStream;
import
java.net.ServerSocket;
import
java.net.Socket;
public
class
MyServer
{
public
static
void
main(String args[])
throws
IOException
{
//
建立一個ServerSocket對象實例
ServerSocket ss
=
new
ServerSocket(
1526
);
//
建立一個Socket實例對象,用來接受客戶端傳過來的Socket
Socket client
=
null
;
System.out.println(
"
等待客戶端的鏈接、、、、、
"
);
//
程序運行到此就會阻塞,除非有客戶端鏈接
client
=
ss.accept();
System.out.println(
"
有客戶鏈接上了---
"
);
//
建立和客戶端的通訊通道
BufferedReader in
=
new
BufferedReader(
new
InputStreamReader(client.getInputStream()));
PrintStream out
=
new
PrintStream(client.getOutputStream());
//
向客戶端輸出信息
out.println(
"
Hello how are you?
"
);
//
關閉輸入輸出流
in.close();
out.close();
}
}
在此程序中首先建立了一個ServerSocket對象,並指明瞭它的端口,客戶端經過IP和這個端口和服務器端進行鏈接。程序運行到此:
client=ss.accept();就不在往下運行直到有客戶端鏈接上,在繼續往下執行。經過 BufferedReader in=new BufferedReader(new InputStreamReader(client.getInputStream()));
PrintStream out=new PrintStream(client.getOutputStream());
這條語句就和客戶端創建了一根虛擬的通道。
看客戶端程序:
package
com.dr.me;
import
java.io.BufferedReader;
import
java.io.IOException;
import
java.io.InputStreamReader;
import
java.net.Socket;
import
java.net.UnknownHostException;
public
class
MyClient
{
public
static
void
main(String args[])
throws
UnknownHostException, IOException
{
//
建立Socket實例對象
Socket client
=
new
Socket(
"
LocalHost
"
,
1526
);
//
建立String對象用來盛放從服務器端傳過來的信息,起一個緩衝做用
String str
=
null
;
//
和服務器端創建通訊鏈接
BufferedReader in
=
new
BufferedReader(
new
InputStreamReader(client.getInputStream()));
//
讀取服務器端發過來的信息放在String對象中
str
=
in.readLine();
//
把信息輸出到控制檯上
System.out.println(str);
}
}
客戶端程序:經過
Socket client=new Socket("LocalHost",1526);
新建一個Socket對象,並指明瞭要向哪臺電腦創建鏈接及該電腦的端口,「LocalHost」是本臺電腦的IP,也能夠寫成「127.0.0.1」,若是和其餘電腦鏈接則改成那臺電腦的IP。端口號必定要和服務器端的客戶端一致,不然出現異常。
運行時首先啓動服務器端程序,而後再啓動客戶端程序。
運行結果:
服務器端控制檯顯示:
啓動服務器端顯示:
客戶端鏈接後顯示:
客戶端控制檯顯示:
這個程序只是簡單說明了一下TCP協議,還有不少東西沒有寫出來,有不對的地方但願你們批評指正,沒時間了我還要上課,先寫到這吧。
相關文章
1.
java編寫TCP&&UDP方式的通訊程序
2.
TCP/IP通訊程序設計注意
3.
TCP/IP通訊程序設計方式
4.
多線程 udp通訊和 tcp通訊
5.
C#編程 TCP/IP通訊
6.
TCP協議通訊流程
7.
C# TCp 通訊
8.
socket通訊——TCP
9.
visionpro TCP通訊
10.
TCP/IP的TCP socket通訊過程
更多相關文章...
•
W3C 程序
-
W3C 教程
•
ASP 子程序
-
ASP 教程
•
算法總結-歸併排序
•
適用於PHP初學者的學習線路和建議
相關標籤/搜索
TCP通訊
通訊
通訊通道
tcp
通訊行業
Socket通訊
通訊系統
移動通訊
無線通訊
系統網絡
TCP/IP教程
PHP教程
MyBatis教程
教程
初學者
0
分享到微博
分享到微信
分享到QQ
每日一句
每一个你不满意的现在,都有一个你没有努力的曾经。
最新文章
1.
resiprocate 之repro使用
2.
Ubuntu配置Github並且新建倉庫push代碼,從已有倉庫clone代碼,並且push
3.
設計模式9——模板方法模式
4.
avue crud form組件的快速配置使用方法詳細講解
5.
python基礎B
6.
從零開始···將工程上傳到github
7.
Eclipse插件篇
8.
Oracle網絡服務 獨立監聽的配置
9.
php7 fmp模式
10.
第5章 Linux文件及目錄管理命令基礎
本站公眾號
歡迎關注本站公眾號,獲取更多信息
相關文章
1.
java編寫TCP&&UDP方式的通訊程序
2.
TCP/IP通訊程序設計注意
3.
TCP/IP通訊程序設計方式
4.
多線程 udp通訊和 tcp通訊
5.
C#編程 TCP/IP通訊
6.
TCP協議通訊流程
7.
C# TCp 通訊
8.
socket通訊——TCP
9.
visionpro TCP通訊
10.
TCP/IP的TCP socket通訊過程
>>更多相關文章<<