日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
LinuxTCP文件發(fā)送,穩(wěn)定高效的傳輸方式(linuxtcp文件發(fā)送)

傳輸文件是現(xiàn)代人日常工作、學(xué)習(xí)中的必備操作之一,如何以最快、穩(wěn)定的方式傳輸文件是我們所關(guān)注的重點(diǎn)。其中,linux tcp 文件發(fā)送是當(dāng)前最為流行的穩(wěn)定高效的傳輸方式。本文將從什么是 TCP、什么是 Linux TCP 文件發(fā)送、優(yōu)點(diǎn)以及如何使用等方面進(jìn)行詳細(xì)介紹。

友好ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!

什么是 TCP?

TCP(Tranission Control Protocol),即傳輸控制協(xié)議,是網(wǎng)絡(luò)協(xié)議之一,在計(jì)算機(jī)網(wǎng)絡(luò)中常用的一種傳輸層協(xié)議。它是一個(gè)面向連接的、可靠的、基于字節(jié)流的傳輸層協(xié)議。TCP 協(xié)議的特點(diǎn)是有序、可靠、無差錯(cuò)、點(diǎn)對點(diǎn)和字節(jié)流等。TCP 的數(shù)據(jù)傳輸是面向連接的三次握手,數(shù)據(jù)封裝按照序列號的字節(jié)流傳輸。

什么是 Linux TCP 文件發(fā)送?

TCP 文件發(fā)送也即是 TCP 傳輸文件,是指在 TCP/IP 網(wǎng)絡(luò)上,利用 TCP 協(xié)議進(jìn)行文件傳輸。Linux TCP 文件發(fā)送就是在 Linux 操作系統(tǒng)中利用 TCP 協(xié)議進(jìn)行文件傳輸?shù)倪^程。

優(yōu)點(diǎn)

(1)穩(wěn)定性高:傳輸過程中,由于 TCP 協(xié)議堅(jiān)持“三次握手”四次揮手的方式建立和終止連接,因此 TCP 文件傳輸具有很高的穩(wěn)定性。通過驗(yàn)證傳輸過程中數(shù)據(jù)的完整性,能夠保證傳輸?shù)臏?zhǔn)確性和穩(wěn)定性,文件在傳輸過程中不會受到損壞、丟失和重復(fù)等問題。

(2)速度快:通過對 TCP 協(xié)議機(jī)制的優(yōu)化以及對傳輸路徑的優(yōu)化等方式提高文件傳輸速度。

(3)易于控制:TCP 協(xié)議具有可隨時(shí)控制的靈活性,可以控制數(shù)據(jù)傳輸速度、網(wǎng)絡(luò)擁塞控制等,可以更好地保證文件傳輸速度、文件安全等重要因素。

(4)高效性:TCP 文件傳輸?shù)母咝П憩F(xiàn)在兩個(gè)方面,一是它可以同時(shí)傳輸多個(gè)文件,其次是實(shí)現(xiàn)了傳輸壓縮技術(shù),壓縮文件傳輸,減少了網(wǎng)絡(luò)傳輸中的負(fù)擔(dān)。

如何使用

下面是使用 Linux TCP 文件發(fā)送的簡單步驟:

1. 需要將兩臺計(jì)算機(jī)連接到同一個(gè)網(wǎng)絡(luò)上,確保系統(tǒng)之間可以相互通信。

2. 在源計(jì)算機(jī)中打開命令行窗口,輸入如下命令:

“`

$ tcpdump

“`

此命令用于指定網(wǎng)絡(luò)接口,以便監(jiān)視傳輸數(shù)據(jù)包的流向。

3. 在源計(jì)算機(jī)中啟動文件傳輸服務(wù),在命令行窗口中輸入如下命令:

“`

$ scp /path/to/source/file username@destination:/path/to/destination/

“`

其中,/path/to/source/file 是要傳輸?shù)奈募谠从?jì)算機(jī)中的位置,username 是目標(biāo)計(jì)算機(jī)上的用戶名稱,destination 是目標(biāo)計(jì)算機(jī)的 IP 地址。/path/to/destination 是文件在目標(biāo)計(jì)算機(jī)上的目標(biāo)位置。

4. 輸入完成命令后,系統(tǒng)會提示輸入目標(biāo)計(jì)算機(jī)的密碼以確認(rèn)身份,輸入正確的密碼后,文件即開始傳輸,傳輸結(jié)束后,可以通過目標(biāo)計(jì)算機(jī)中指定的目錄查看傳輸?shù)奈募?,傳輸完成?/p>

Linux TCP 文件發(fā)送作為一種高效穩(wěn)定的文件傳輸方式,用于大文件、多文件、文件壓縮傳輸有很好的效果。然而,每個(gè)軟件都有其自己的局限性,使用前也需要仔細(xì)了解并確保其是適合當(dāng)前情景的。

成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián)為您提供網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù)!

Linux C系統(tǒng)編程中的文件傳輸問題:只能傳送文本文件,不能傳送二進(jìn)制文件。(TCP+文件I/O實(shí)現(xiàn))

你是用同一念弊個(gè)程序傳仿空送仔大族文本和二進(jìn)制文件的嗎?

是全部按固定長度傳送的嗎?

傳送的緩沖區(qū)多大?

你把傳送的文本文件,用Araxis Merge比較,而不是diff,是否也完全一樣?

如果有代碼,可能更方便分析。

二進(jìn)制模式傳輸文本文件喊銷改沒有問題,但是ASCII模式傳輸二進(jìn)制文件會出問題

因?yàn)橛行┼嵟锌刂谱址麜诲e(cuò)誤處理。比如二進(jìn)制文件中的0,在傳輸?shù)臅r(shí)候會被當(dāng)作字符串結(jié)束符,這樣是無法傳送的。所以傳輸二進(jìn)制文件的時(shí)候狀斗或況與文本文件是不一樣的。

下面這段是發(fā)送文件內(nèi)容及其16進(jìn)制編碼的。

file = fopen(“w:\\temp.dat”,”rb”);

if(file)

{

buffer=0;

char temp;

while(1)

{

r = fread(buffer,1,16,file);

buffer=0;

int index=0;

for(index=0;index=0x20)

{

sprintf(temp,”%c”,(unsigned char)buffer);

printf(temp);

send(AcceptSocket,temp,strlen(temp),0);

}else

{

sprintf(temp,”.”);

printf(temp);

send(AcceptSocket,temp,strlen(temp),0);

}

}

sprintf(temp,”\橡桐r\n”梁棚坦);

printf(temp);

send(AcceptSocket,temp,strlen(temp),0);

//send(AcceptSocket,buffer,r,0);

if (r

}

printf(“(end)\r\n”);

fclose(file);

}

應(yīng)該是因?yàn)槟銖奈募x出來的數(shù)據(jù)和派埋發(fā)出去亮羨好的數(shù)據(jù)不敬鉛同,比如你用read(fd, buf, 1024); write(socketfd, buf, strlen(buf));這樣可能會出錯(cuò),我試過。更好是int num = read(fd, buf, 1024);write(socketfd, buf, num);就是將strlen(buf)改為read()函數(shù)的返回值!

linux下怎么設(shè)置tcp

Socket的send函數(shù)在執(zhí)行時(shí)報(bào)EAGAIN的錯(cuò)誤當(dāng)客戶通過Socket提供的send函數(shù)發(fā)送大的數(shù)據(jù)包時(shí),就可能返回一個(gè)EGGAIN的錯(cuò)誤。該錯(cuò)誤產(chǎn)生的原因是由于send 函數(shù)中的size變量大小超過了tcp_sendspace的值。tcp_sendspace定義了應(yīng)用在調(diào)用send之前能夠在kernel中緩存的數(shù)據(jù)量。當(dāng)應(yīng)用程序在socket中設(shè)置了O_NDELAY或者O_NONBLOCK屬性后,如果發(fā)送緩存被占滿,send就會返回EAGAIN的錯(cuò)誤。 為了消除該錯(cuò)誤,有三種方法可以選擇: 1.調(diào)大tcp_sendspace,使之大于send中的size參數(shù) —no -p -o tcp_sendspace=.在調(diào)用send前,在setsockopt函數(shù)中為SNDBUF設(shè)置更大的值 3.使用write替代send,因?yàn)閣rite沒有設(shè)置O_NDELAY或者O_NONBLOCK1. tcp 收發(fā)緩沖區(qū)默認(rèn)值 # cat /proc/sys/net/ipv4/tcp_rmem:tcp接收緩沖區(qū)的默認(rèn)值# cat /proc/sys/net/ipv4/tcp_wmem6384 : tcp 發(fā)送緩沖區(qū)的默認(rèn)值2. tcp 或udp收發(fā)緩沖區(qū)更大值# cat /proc/sys/net/core/rmem_max71:tcp 或 udp 接收緩沖區(qū)更大可設(shè)置值的一半。也就是說調(diào)用 setsockopt(s, SOL_SOCKET, SO_RCVBUF, &rcv_size, &optlen); 時(shí)rcv_size 如果超過,那么getsockopt(s, SOL_SOCKET, SO_RCVBUF, &rcv_size, &optlen); 去到的值就等于* 2 =# cat /proc/sys/net/core/wmem_max071:tcp 或 udp 發(fā)送緩沖區(qū)更大可設(shè)置值得一半。跟上面同一個(gè)道理3. udp收發(fā)緩沖區(qū)默認(rèn)值# cat /proc/sys/net/core/rmem_default:udp接收緩沖區(qū)的如虛賀默認(rèn)值# cat /proc/sys/net/core/wmem_default16:udp發(fā)送緩沖區(qū)的默認(rèn)值. tcp 或udp收發(fā)緩沖區(qū)最渣派小值tcp 或udp接收緩沖區(qū)的最小值為 256 bytes,由內(nèi)核的宏決定;tcp 或udp發(fā)送緩沖區(qū)的最小值為 2023 bytes,由內(nèi)核的宏決定setsockopt設(shè)置socket狀態(tài)1.closesocket(一般不會立即關(guān)閉而經(jīng)歷TIME_WAIT的過程)后想繼續(xù)重用該socket:BOOL bReuseaddr=TRUE;setsockopt(s,SOL_SOCKET ,SO_REUSEADDR,(const char*)&bReuseaddr,sizeof(BOOL));2. 如果要已經(jīng)處于連接狀態(tài)的soket在調(diào)用譽(yù)仿closesocket后強(qiáng)制關(guān)閉,不經(jīng)歷TIME_WAIT的過程:BOOL bDontLinger = FALSE;setsockopt(s,SOL_SOCKET,SO_DONTLINGER,(const char*)&bDontLinger,sizeof(BOOL));3.在send(),recv()過程中有時(shí)由于網(wǎng)絡(luò)狀況等原因,發(fā)收不能預(yù)期進(jìn)行,而設(shè)置收發(fā)時(shí)限:int nNetTimeout=1000;//1秒//發(fā)送時(shí)限setsockopt(socket,SOL_S0CKET,SO_SNDTIMEO,(char *)&nNetTimeout,sizeof(int));//接收時(shí)限setsockopt(socket,SOL_S0CKET,SO_RCVTIMEO,(char *)&nNetTimeout,sizeof(int));4.在send()的時(shí)候,返回的是實(shí)際發(fā)送出去的字節(jié)(同步)或發(fā)送到socket緩沖區(qū)的字節(jié)(異步);系統(tǒng)默認(rèn)的狀態(tài)發(fā)送和接收一次為8688字節(jié)(約為8.5K);在實(shí)際的過程中發(fā)送數(shù)據(jù)和接收數(shù)據(jù)量比較大,可以設(shè)置socket緩沖區(qū),而避免了send(),recv()不斷的循環(huán)收發(fā):// 接收緩沖區(qū)int nRecvBuf=32*1024;//設(shè)置為32Ksetsockopt(s,SOL_SOCKET,SO_RCVBUF,(const char*)&nRecvBuf,sizeof(int));//發(fā)送緩沖區(qū)int nSendBuf=32*1024;//設(shè)置為32Ksetsockopt(s,SOL_SOCKET,SO_SNDBUF,(const char*)&nSendBuf,sizeof(int));5. 如果在發(fā)送數(shù)據(jù)的時(shí),希望不經(jīng)歷由系統(tǒng)緩沖區(qū)到socket緩沖區(qū)的拷貝而影響程序的性能:int nZero=0;setsockopt(socket,SOL_S0CKET,SO_SNDBUF,(char *)&nZero,sizeof(nZero));6.同上在recv()完成上述功能(默認(rèn)情況是將socket緩沖區(qū)的內(nèi)容拷貝到系統(tǒng)緩沖區(qū)):int nZero=0;setsockopt(socket,SOL_S0CKET,SO_RCVBUF,(char *)&nZero,sizeof(int));7.一般在發(fā)送UDP數(shù)據(jù)報(bào)的時(shí)候,希望該socket發(fā)送的數(shù)據(jù)具有廣播特性:BOOL bBroadcast=TRUE;setsockopt(s,SOL_SOCKET,SO_BROADCAST,(const char*)&bBroadcast,sizeof(BOOL));8.在client連接服務(wù)器過程中,如果處于非阻塞模式下的socket在connect()的過程中可以設(shè)置connect()延時(shí),直到accpet()被呼叫(本函數(shù)設(shè)置只有在非阻塞的過程中有顯著的作用,在阻塞的函數(shù)調(diào)用中作用不大)BOOL bConditionalAccept=TRUE;setsockopt(s,SOL_SOCKET,SO_CONDITIONAL_ACCEPT,(const char*)&bConditionalAccept,sizeof(BOOL));9.如果在發(fā)送數(shù)據(jù)的過程中(send()沒有完成,還有數(shù)據(jù)沒發(fā)送)而調(diào)用了closesocket(),以前我們一般采取的措施是”從容關(guān)閉”shutdown(s,SD_BOTH),但是數(shù)據(jù)是肯定丟失了,如何設(shè)置讓程序滿足具體應(yīng)用的要求(即讓沒發(fā)完的數(shù)據(jù)發(fā)送出去后在關(guān)閉socket)?struct linger {u_short l_onoff;u_short l_linger;};linger m_sLinger;m_sLinger.l_onoff=1;//(在closesocket()調(diào)用,但是還有數(shù)據(jù)沒發(fā)送完畢的時(shí)候容許逗留)// 如果m_sLinger.l_onoff=0;則功能和2.)作用相同;m_sLinger.l_linger=5;//(容許逗留的時(shí)間為5秒)setsockopt(s,SOL_SOCKET,SO_LINGER,(const char*)&m_sLinger,sizeof(linger));設(shè)置套接口的選項(xiàng)。 #include int PASCAL FAR setsockopt( SOCKET s, int level, int optname, const char FAR* optval, int optlen); s:標(biāo)識一個(gè)套接口的描述字。 level:選項(xiàng)定義的層次;目前僅支持SOL_SOCKET和IPPROTO_TCP層次。 optname:需設(shè)置的選項(xiàng)。 optval:指針,指向存放選項(xiàng)值的緩沖區(qū)。 optlen:optval緩沖區(qū)的長度。注釋:setsockopt()函數(shù)用于任意類型、任意狀態(tài)套接口的設(shè)置選項(xiàng)值。盡管在不同協(xié)議層上存在選項(xiàng),但本函數(shù)僅定義了更高的“套接口”層次上的選項(xiàng)。選項(xiàng)影響套接口的操作,諸如加急數(shù)據(jù)是否在普通數(shù)據(jù)流中接收,廣播數(shù)據(jù)是否可以從套接口發(fā)送等等。 有兩種套接口的選項(xiàng):一種是布爾型選項(xiàng),允許或禁止一種特性;另一種是整形或結(jié)構(gòu)選項(xiàng)。允許一個(gè)布爾型選項(xiàng),則將optval指向非零整形數(shù);禁止一個(gè)選項(xiàng)optval指向一個(gè)等于零的整形數(shù)。對于布爾型選項(xiàng),optlen應(yīng)等于sizeof(int);對其他選項(xiàng),optval指向包含所需選項(xiàng)的整形數(shù)或結(jié)構(gòu),而optlen則為整形數(shù)或結(jié)構(gòu)的長度。SO_LINGER選項(xiàng)用于控制下述情況的行動:套接口上有排隊(duì)的待發(fā)送數(shù)據(jù),且 closesocket()調(diào)用已執(zhí)行。參見closesocket()函數(shù)中關(guān)于SO_LINGER選項(xiàng)對closesocket()語義的影響。應(yīng)用程序通過創(chuàng)建一個(gè)linger結(jié)構(gòu)來設(shè)置相應(yīng)的操作特性: struct linger {int l_onoff;int l_linger; }; 為了允許SO_LINGER,應(yīng)用程序應(yīng)將l_onoff設(shè)為非零,將l_linger設(shè)為零或需要的超時(shí)值(以秒為單位),然后調(diào)用setsockopt()。為了允許SO_DONTLINGER(亦即禁止SO_LINGER),l_onoff應(yīng)設(shè)為零,然后調(diào)用setsockopt()。 缺省條件下,一個(gè)套接口不能與一個(gè)已在使用中的本地地址捆綁(參見bind())。但有時(shí)會需要“重用”地址。因?yàn)槊恳粋€(gè)連接都由本地地址和遠(yuǎn)端地址的組合唯一確定,所以只要遠(yuǎn)端地址不同,兩個(gè)套接口與一個(gè)地址捆綁并無大礙。為了通知WINDOWS套接口實(shí)現(xiàn)不要因?yàn)橐粋€(gè)地址已被一個(gè)套接口使用就不讓它與另一個(gè)套接口捆綁,應(yīng)用程序可在bind()調(diào)用前先設(shè)置SO_REUSEADDR選項(xiàng)。請注意僅在bind()調(diào)用時(shí)該選項(xiàng)才被解釋;故此無需(但也無害)將一個(gè)不會共用地址的套接口設(shè)置該選項(xiàng),或者在bind()對這個(gè)或其他套接口無影響情況下設(shè)置或清除這一選項(xiàng)。 一個(gè)應(yīng)用程序可以通過打開SO_KEEPALIVE選項(xiàng),使得WINDOWS套接口實(shí)現(xiàn)在TCP連接情況下允許使用“保持活動”包。一個(gè)WINDOWS套接口實(shí)現(xiàn)并不是必需支持“保持活動”,但是如果支持的話,具體的語義將與實(shí)現(xiàn)有關(guān),應(yīng)遵守RFC1122“Internet主機(jī)要求-通訊層”中第 4.2.3.6節(jié)的規(guī)范。如果有關(guān)連接由于“保持活動”而失效,則進(jìn)行中的任何對該套接口的調(diào)用都將以WSAENETRESET錯(cuò)誤返回,后續(xù)的任何調(diào)用將以WSAENOTCONN錯(cuò)誤返回。 TCP_NODELAY選項(xiàng)禁止Nagle算法。Nagle算法通過將未確認(rèn)的數(shù)據(jù)存入緩沖區(qū)直到蓄足一個(gè)包一起發(fā)送的方法,來減少主機(jī)發(fā)送的零碎小數(shù)據(jù)包的數(shù)目。但對于某些應(yīng)用來說,這種算法將降低系統(tǒng)性能。所以TCP_NODELAY可用來將此算法關(guān)閉。應(yīng)用程序編寫者只有在確切了解它的效果并確實(shí)需要的情況下,才設(shè)置TCP_NODELAY選項(xiàng),因?yàn)樵O(shè)置后對網(wǎng)絡(luò)性能有明顯的負(fù)面影響。TCP_NODELAY是唯一使用IPPROTO_TCP層的選項(xiàng),其他所有選項(xiàng)都使用SOL_SOCKET層。 如果設(shè)置了SO_DEBUG選項(xiàng),WINDOWS套接口供應(yīng)商被鼓勵(但不是必需)提供輸出相應(yīng)的調(diào)試信息。但產(chǎn)生調(diào)試信息的機(jī)制以及調(diào)試信息的形式已超出本規(guī)范的討論范圍。setsockopt()支持下列選項(xiàng)。其中“類型”表明optval所指數(shù)據(jù)的類型。選項(xiàng)類型 意義SO_BROADCAST BOOL 允許套接口傳送廣播信息。SO_DEBUG BOOL 記錄調(diào)試信息。SO_DONTLINER BOOL 不要因?yàn)閿?shù)據(jù)未發(fā)送就阻塞關(guān)閉操作。設(shè)置本選項(xiàng)相當(dāng)于將SO_LINGER的l_onoff元素置為零。SO_DONTROUTE BOOL 禁止選徑;直接傳送。SO_KEEPALIVE BOOL 發(fā)送“保持活動”包。SO_LINGER struct linger FAR* 如關(guān)閉時(shí)有未發(fā)送數(shù)據(jù),則逗留。SO_OOBINLINE BOOL 在常規(guī)數(shù)據(jù)流中接收帶外數(shù)據(jù)。SO_RCVBUF int 為接收確定緩沖區(qū)大小。SO_REUSEADDR BOOL 允許套接口和一個(gè)已在使用中的地址捆綁(參見bind())。SO_SNDBUF int 指定發(fā)送緩沖區(qū)大小。TCP_NODELAY BOOL 禁止發(fā)送合并的Nagle算法。setsockopt()不支持的BSD選項(xiàng)有:選項(xiàng)名 類型 意義SO_ACCEPTCONN BOOL 套接口在監(jiān)聽。SO_ERROR int 獲取錯(cuò)誤狀態(tài)并清除。SO_RCVLOWAT int 接收低級水印。SO_RCVTIMEO int 接收超時(shí)。SO_SNDLOWAT int 發(fā)送低級水印。SO_SNDTIMEO int 發(fā)送超時(shí)。SO_TYPE int 套接口類型。IP_OPTIONS 在IP頭中設(shè)置選項(xiàng)。返回值: 若無錯(cuò)誤發(fā)生,setsockopt()返回0。否則的話,返回SOCKET_ERROR錯(cuò)誤,應(yīng)用程序可通過WSAGetLastError()獲取相應(yīng)錯(cuò)誤代碼。錯(cuò)誤代碼: WSANOTINITIALISED:在使用此API之前應(yīng)首先成功地調(diào)用WSAStartup()。 WSAENETDOWN:WINDOWS套接口實(shí)現(xiàn)檢測到網(wǎng)絡(luò)子系統(tǒng)失效。 WSAEFAULT:optval不是進(jìn)程地址空間中的一個(gè)有效部分。 WSAEINPROGRESS:一個(gè)阻塞的WINDOWS套接口調(diào)用正在運(yùn)行中。 WSAEINVAL:level值非法,或optval中的信息非法。 WSAENETRESET:當(dāng)SO_KEEPALIVE設(shè)置后連接超時(shí)。 WSAENOPROTOOPT:未知或不支持選項(xiàng)。其中,SOCK_STREAM類型的套接口不支持SO_BROADCAST選項(xiàng),SOCK_DGRAM 類型的套接口不支持SO_DONTLINGER 、SO_KEEPALIVE、SO_LINGER和SO_OOBINLINE選項(xiàng)。 WSAENOTCONN:當(dāng)設(shè)置SO_KEEPALIVE后連接被復(fù)位。 WSAENOTSOCK:描述字不是一個(gè)套接口。linux tcp 文件發(fā)送的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于linux tcp 文件發(fā)送,Linux TCP文件發(fā)送,穩(wěn)定高效的傳輸方式,Linux C系統(tǒng)編程中的文件傳輸問題:只能傳送文本文件,不能傳送二進(jìn)制文件。(TCP+文件I/O實(shí)現(xiàn)),linux下怎么設(shè)置tcp的信息別忘了在本站進(jìn)行查找喔。

創(chuàng)新互聯(lián)-老牌IDC、云計(jì)算及IT信息化服務(wù)領(lǐng)域的服務(wù)供應(yīng)商,業(yè)務(wù)涵蓋IDC(互聯(lián)網(wǎng)數(shù)據(jù)中心)服務(wù)、云計(jì)算服務(wù)、IT信息化、AI算力租賃平臺(智算云),軟件開發(fā),網(wǎng)站建設(shè),咨詢熱線:028-86922220


網(wǎng)站題目:LinuxTCP文件發(fā)送,穩(wěn)定高效的傳輸方式(linuxtcp文件發(fā)送)
路徑分享:http://www.5511xx.com/article/dpocpei.html