網路程式設計——設計一個傳送TCP資料包的程式
TCP/IP協議族是構建網際網路的基石協議。在網際網路中,從一臺計算機向另外一臺計算機傳送資料,資料包可以通過兩種協議傳輸。其中一種就是傳輸控制協議(Transmission Control Protocol,TCP)。TCP能夠確保資料的傳送,也確保資料包以它們正確的順序傳送,是一種提供可靠連線的傳送協議。由於Java語言支援基於流的通訊,即是用TCP協議進行傳輸,所以本次的課程設計將基於Java語言,設計出一個可以傳送TCP資料包的程式。
關鍵字
傳輸控制協議(TCP),Java,套接字(Socket),IP,埠(Port)
1 引言
在網際網路的四層協議中,TCP位於IP層之上,應用層之下的傳輸層。不同主機的應用層之間經常需要可靠的、像管道一樣的連線。而面向連線、提供可靠傳輸的TCP協議則正好能夠滿足這一需求。因此被廣泛利用。
掌握TCP資料包的發包原理和功能的實現,有利於我們能夠更進一步地學習和利用更多應用層上的應用和技術,如檔案傳送(FTP)、遠端登入(RemoteLogin)等。
本次課程設計要求我們能夠實現以下效果:
相關推薦
網路程式設計——設計一個傳送TCP資料包的程式
TCP/IP協議族是構建網際網路的基石協議。在網際網路中,從一臺計算機向另外一臺計算機傳送資料,資料包可以通過兩種協議傳輸。其中一種就是傳輸控制協議(Transmission Control Protocol,TCP)。TCP能夠確保資料的傳送,也確保資料包以它們正確的順序傳送,是一種提供可
網路程式設計--使用UDP傳送接收資料
package com.zhangxueliang.udp; import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress;
Java網路程式設計UDP協議傳送接收資料
UDP協議傳送資料步驟 A:建立傳送端socket物件; B:建立資料,並把資料打包; C:呼叫socket物件的傳送方法傳送資料包; D:釋放資源 package net; import java.io.IOException; import java.net.Datagra
Linux 網路程式設計——原始套接字例項:傳送 UDP 資料包
乙太網(Ethernet)報文格式(MAC頭部報文格式): IP 報文格式: UDP 報文格式: 校驗和函式: /******************************************************* 功能:
Python之路(第三十一篇) 網路程式設計:簡單的tcp套接字通訊、粘包現象
一、簡單的tcp套接字通訊 套接字通訊的一般流程 服務端 server = socket() #建立伺服器套接字 server.bind() #把地址繫結到套接字,網路地址加埠 server.listen() #監聽連結 inf_loop:
Java網路程式設計(二) 連續傳送資料
有了建立連線的基礎後,接下來嘗試連續地傳送和接收資料。 對於傳送端比較好理解,有資料時就可以傳送出去。對於接收端,就需要一直監聽是否有資料傳送過來。一個基本的方法就是使用 while(true) 迴圈不斷去 read,考慮到效率問題如果對延時沒那麼高要求的話,可以適當
網路-UDP,TCP資料包的最大傳輸長度分析
一、UDP UDP允許傳輸的最大長度理論上2^16 - udp head - iphead( 65507 位元組 = 65535 - 20 - 8) 但是實際上UDP資料報的資料區最大長度為147
TCP/IP網路程式設計之地址族與資料序列
IP地址分為IPv4與IPv6 前者是4位元組地址族後者是16位元組地址族,兩者的差異主要是表示IP地址所使用的位元組數 IPv4的4位元組地址分為網路地址與主機地址,並且分為A、B、C、D、E四種類型 說明: A類地址的首位元組範圍是:0-127 B類地址的首位元組
【Java TCP/IP Socket程式設計】----深入剖析----TCP資料傳輸中的死鎖和效能
目錄 死鎖問題 資料傳輸效能 案例 --------筆記來自於書籍《Java TCP/IP Socket程式設計》 死鎖問題 在TCP資料傳輸底層實現中(詳細參見https://blog.csdn.net/lili13897741554/article/
【Java TCP/IP Socket程式設計】----深入剖析----TCP資料傳輸底層實現
目錄 套接字底層資料結構 TCP資料傳輸底層實現 案例 --------筆記來自於書籍《Java TCP/IP Socket程式設計》 套接字底層資料結構 要熟悉掌握網路程式設計,就需要理解套接字的具體實現所關聯的資料結構和底
原始套接字 傳送 TCP SYN 包
通過原始套接字、setsockopt、IP_HDRINCL套接字選項,我們可以在應用程序裡面構造自己的IP包: 所以我們在初始化原始套接字之後,可以呼叫setsockopt函式來開啟IP_HDRINCL套接字選項,並且構造自己的IP頭,TCP/UDP頭,最後再像傳送普通包一樣呼叫sendt
java網路程式設計(3)TCP
使用TCP進行網路資料傳輸的時候,TCP會在需要傳輸資料的兩端建立兩個Socket(插座),並且在兩個Socket之間建立一條虛擬鏈路,然後這兩臺主機就可以進行通訊了。 下面是一個很簡單的例子。 Server類建立一個ServerSocket物件,用於監聽客戶端Socke
c++ 網路程式設計(九)TCP/IP LINUX/windows下 多執行緒超詳細教程 以及 多執行緒實現服務端
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <process.h> #include <winsock2.h> #include <win
c++ 網路程式設計(九)TCP/IP LINUX/windows下 多執行緒超詳細教程 以及 多執行緒實現服務端
原文作者:aircraft 原文連結:https://www.cnblogs.com/DOMLX/p/9661012.html 先講Linux下(windows下在後面可以直接跳到後面看): 一.執行緒基本概念 前面我們講過多程序伺服器,但我們知道它開銷很大
Python網路程式設計--通過fork、tcp併發完成ftp檔案伺服器
ftp檔案伺服器 一、專案功能 1.服務端和客戶端兩部分,要求啟動一個服務端可以同時處理多個客戶端請求 2.功能:1).可以檢視服務端檔案庫中所有的普通檔案 &nbs
網路程式設計 第二天 (TCP程式設計)
在網路應用程式程式設計時,伺服器與客戶機的執行邏輯不同,因此伺服器端與客戶端的程式碼也不同。 一、TCP程式設計——伺服器端 使用TCP通訊的伺服器端的程式設計流程如下: 如果需要使用TCP協議建立一個伺服器,則需要以下步驟: -建立套接字
ubuntu 下使用tcpdump 抓取TCP資料包
問題來源: 需要測試一個閘道器(包括機頂盒和路由器),網線直接連線電腦和待測機器。配置IP地址為192.168.1.100,保證IP地址與網線另一端閘道器IP地址192.168.1.1在同一個網段。 手頭有傳送的json報文資料段,直接用win7下的tcp通訊助手傳送總是失敗,得不到正確的響
網路程式設計——3. 地址族與資料序列
3.1 給套接字分配IP地址與埠號 IP(Internet Protocol)是指網路協議,是為收發網路資料而分配給計算機的值 埠號是為區分程式中建立的套接字而分配給套接字的序號 網路地址 IP地址分為兩類: IPv4 IPv6 4位元組地址
學習筆記:QT網路程式設計:C2S基於TCP的檔案傳輸
預處理: 1在.pro加入一條語句 QT += network 記得儲存檔案 2.標頭檔案中可包含標頭檔案/儘量用前向宣告(因為只宣告不用) TCP檔案傳輸
淺析LET無線行動網路為什麼RTT抖動大為什麼資料包亂序多
浙江溫州皮鞋溼,下雨進水不會胖!9月份錯過了深圳的超猛颱風,12月8號又錯過了杭州的超猛大雪,當天卻在深圳迎來了趙正則,馬上2019年了,又一次錯過了杭州的大雪,回到了深圳過元旦… 無奈啊無奈,去年夏天我為如題展示的問題折騰的寢食難安,然而並無解,可能那是一個工作任務吧,什麼事