TCP(Transmission Control Protocol)協(xié)議,是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議。TCP通過(guò)網(wǎng)絡(luò)協(xié)議和數(shù)據(jù)包進(jìn)行連接和傳輸。TCP運(yùn)行在操作系統(tǒng)的核心層,通過(guò)將數(shù)據(jù)封裝成數(shù)據(jù)包,并在發(fā)送端將數(shù)據(jù)包發(fā)送到接收端。在接收端,TCP負(fù)責(zé)接收和解析數(shù)據(jù)包,并將數(shù)據(jù)還原成原始數(shù)據(jù)。
TCP使用IP協(xié)議(Internet Protocol)進(jìn)行連接和傳輸。IP協(xié)議是一種網(wǎng)絡(luò)通信協(xié)議,它定義了數(shù)據(jù)包如何在計(jì)算機(jī)網(wǎng)絡(luò)中進(jìn)行傳輸和路由。在發(fā)送端,TCP將數(shù)據(jù)封裝成IP數(shù)據(jù)包,并通過(guò)網(wǎng)絡(luò)接口卡(Network Interface Card)發(fā)送到網(wǎng)絡(luò)中。在接收端,TCP使用IP協(xié)議將數(shù)據(jù)包接收并傳遞給應(yīng)用程序。TCP通過(guò)使用端口號(hào)(Port Number)來(lái)標(biāo)識(shí)應(yīng)用程序,以便在發(fā)送和接收數(shù)據(jù)時(shí)進(jìn)行匹配。每個(gè)應(yīng)用程序在TCP協(xié)議中使用一個(gè)唯一的端口號(hào),以便區(qū)分不同的應(yīng)用程序。
要使用PHP連接TCP服務(wù)器并發(fā)送十六進(jìn)制的數(shù)據(jù),需要使用socket擴(kuò)展庫(kù)。下面是一個(gè)常見的簡(jiǎn)單示例代碼。
但是,實(shí)際上使用這段代碼,并不能成功的發(fā)送數(shù)據(jù),他會(huì)報(bào)錯(cuò),pack(): Type H: illegal hex digit主要的原因就是因?yàn)榘l(fā)送的數(shù)據(jù)格式有問(wèn)題,還有使用的數(shù)據(jù)轉(zhuǎn)換方法也不適用
需要特殊處理一下發(fā)送的數(shù)據(jù)hex2bin( preg_replace('# #', '', $input[1]) ); 處理一下的字符串就可以成功發(fā)送了