91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 4KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-23
  • 語言: 其他
  • 標簽: socket??C++??

資源簡介

在windows下實際測試過,能實現超過百兆或上G的文件傳輸,使用前需要更改ip為本地IP,還有文件格式根據實際傳輸的文件修改

資源截圖

代碼片段和文件信息

//?socket-client1.cpp?:?定義控制臺應用程序的入口點。
//

#include?“stdafx.h“
#ifndef?_CLOCK_T_DEFINED
typedef?long?clock_t;
#define?_CLOCK_T_DEFINED
#endif

#include
#include
#include
#include
#include
#include
#include?
#include??
using?namespace?std;
#pragma?comment(lib?“ws2_32.lib“)
#define?debug?0
int?main()
{
WORD?sockVersion?=?MAKEWORD(2?2);
WSADATA?data;

clock_t?startTime?endTime;
struct?timeval?timeout?=?{?3?0?};
if?(WSAStartup(sockVersion?&data)?!=?0)
{
return?0;
}
while?(true)
{
SOCKET?sclient?=?socket(AF_INET?SOCK_STREAM?IPPROTO_TCP);
if?(sclient?==?INVALID_SOCKET)
{
printf(“invalid?socket!“);
return?0;
}
sockaddr_in?serAddr;
serAddr.sin_family?=?AF_INET;
serAddr.sin_port?=?htons(8000);
#if?debug
serAddr.sin_addr.S_un.S_addr?=?inet_addr(“127.0.0.1“);?//inet_addr
#else
serAddr.sin_addr.S_un.S_addr?=?inet_addr(“169.254.154.252“);//?(“169.254.169.227“);?//inet_addr(“127.0.0.1“);//
#endif
// int?nSendBuf?=?128?*?1024;//設置為32K
// setsockopt(sclient?SOL_SOCKET?SO_SNDBUF?(const?char*)&nSendBuf?sizeof(int));
// int?nRecvBuf?=?32?*?1024;//設置為32K
// setsockopt(sclient?SOL_SOCKET?SO_RCVBUF?(const?char*)&nRecvBuf?sizeof(int));
if?(connect(sclient?(sockaddr?*)&serAddr?sizeof(serAddr))?==?SOCKET_ERROR)
{??//連接失敗?
printf(“connect?error?!“);
closesocket(sclient);
return?-1;
}

char?Buffer[8192]?=?{?0?};
char?revData[8192];
char?sendbuf[6]?=?{0x5a00000x55};
int?count?=?0;
int?ret?=?0;
startTime?=?clock();
//ifstream?infile(“E:\\uEye-Full-490-64-WHQL.zip“?ifstream::binary);
ifstream?infile(“E:\\111.bmp“?ifstream::binary);
if?(!infile.is_open())
{
cout?< return?-1;
}
long?int?lengthsendlength;
long?int?realdatasenddata;
infile.seekg(0?ios::end);
length?=?infile.tellg();
infile.seekg(0?ios::beg);
senddata?=?0;
/*step1?發送需要發送數據的長度?*/
sendbuf[1]?=?length;
sendbuf[2]?=?length>>8;
sendbuf[3]?=?length?>>?16;
sendbuf[4]?=?length?>>?24;
ret?=?send(sclient?sendbuf6?0);
/*?step2?接收服務器返回的數據判定是否接收正確?*/
ret?=?recv(sclient?revData?6?0);
if?((revData[0]?==?0x5a)?&&?(revData[5]?==?0x55))
{
realdata?=?revData[4]?*?256?*?256?*?256?+?revData[3]?*?256?*?256?+?revData[2]?*?256?+?revData[1];
}
if?(realdata?!=?length)
{
cout?< return?3;
}
/*?step3?發送數據?*/
while?(length?>?0)
{?
if?(length? sendlength?=?length;
else
sendlength?=?8192;

count++;
length?=?length?-?8192;
infile.read(Buffer?sendlength);
ret?=?send(sclient?Buffer?sendlength?0);
if?(ret?==?-1)
{
closesocket(sclient);
cout?< break;
}
senddata?=?senddata?+?ret;
//cout?< //cout?<

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-12-02?18:41??socke\
?????文件????????3774??2017-12-01?17:27??socke\socket-client1.cpp
?????文件????????3484??2017-12-02?14:38??socke\socket-server1.cpp

評論

共有 條評論