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

  • 大小: 42KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-14
  • 語言: C/C++
  • 標簽: socket??

資源簡介

C語言socket編程指南(講解+實例)

資源截圖

代碼片段和文件信息

/********************************************************************
created: 2006/07/28
filename:? Client.cpp
author: 李創
http://www.cppblog.com/converse/

purpose:
*********************************************************************/

#pragma?comment(lib?“WS2_32“)

#include?
#include?
#include?

#include?“../CommonDef.h“

long g_lLength?=?0;
char* g_pBuff?=?NULL;
char g_szFileName[MAXFILEDIRLENGTH];
char g_szBuff[MAX_PACKET_SIZE?+?1];
SOCKET g_sClient;

//?初始化socket庫
bool?InitSocket();
//?關閉socket庫
bool?CloseSocket();
//?把用戶輸入的文件路徑傳送到server端
bool?SendFileNameToServer();
//?與server端連接
bool?ConectToServer();
//?打開文件失敗
bool?OpenFileError(CCSDef::TMSG_HEADER?*pMsgHeader);
//?分配空間以便寫入文件
bool?AllocateMemoryForFile(CCSDef::TMSG_HEADER?*pMsgHeader);
//?寫入文件
bool?WriteToFile(CCSDef::TMSG_HEADER?*pMsgHeader);
//?處理server端傳送過來的消息
bool?ProcessMsg();

int?main(int?argc?char?*argv[])
{

InitSocket();
ConectToServer();

CloseSocket();

return?0;
}

//?初始化socket庫
bool?InitSocket()
{
PGG_DEBUG(“InitSocket()?invoke?begin“);

//?初始化socket?dll
WSADATA?wsaData;
WORD?socketVersion?=?MAKEWORD(2?2);
if?(::WSAStartup(socketVersion?&wsaData)?!=?0)
{
printf(“Init?socket?dll?error\n“);
exit(-1);
}

PGG_DEBUG(“InitSocket()?invoke?end?return?true“);
return?true;
}

//?關閉socket庫
bool?CloseSocket()
{
//?關閉套接字
::closesocket(g_sClient);
//?釋放winsock庫
::WSACleanup();

return?true;
}

//?與server端連接進行文件的傳輸
bool?ConectToServer()
{
//?初始化socket套接字
if?(SOCKET_ERROR?==?(g_sClient?=?::socket(AF_INET?SOCK_STREAM?IPPROTO_TCP)))
{
printf(“Init?Socket?Error!\n“);
exit(-1);
}

sockaddr_in?servAddr;
servAddr.sin_family?=?AF_INET;
servAddr.sin_port =?htons(PORT);
servAddr.sin_addr.S_un.S_addr?=?::inet_addr(SERVER_IP);
if?(INVALID_SOCKET?==?(::connect(g_sClient?(sockaddr*)&servAddr?sizeof(sockaddr_in))))
{
printf(“Connect?to?Server?Error!\n“);
exit(-1);
}

//?輸入文件路徑傳輸到server端
SendFileNameToServer();

//?接收server端傳過來的信息直到保存文件成功為止
while?(true?==?ProcessMsg())
{
}

return?true;
}

//?把用戶輸入的文件路徑傳送到server端
bool?SendFileNameToServer()
{
char?szFileName[MAXFILEDIRLENGTH];
printf(“Input?the?File?Directory:?“);

fgets(szFileName?MAXFILEDIRLENGTH?stdin);

//?把文件路徑發到server端
CCSDef::TMSG_FILENAME?tMsgRequestFileName;
strcpy(tMsgRequestFileName.szFileName?szFileName);
if?(SOCKET_ERROR?==?::send(g_sClient?(char*)(&tMsgRequestFileName)?sizeof(CCSDef::TMSG_FILENAME)?0))
{
printf(“Send?File?Name?Error!\n“);
exit(-1);
}

return?true;
}

//?處理server端傳送過來的消息
bool?ProcessMsg()
{
CCSDef::TMSG_HEADER?*pMsgHeader;
int?nRecv?=?::recv(g_sClient?g_szBuff?MAX_PACKET_SIZE?+?1?0);

pMsgHeader?=?(CCSDef::TMSG_HEADER*)g_szBuff;

switch?(pMsgHeader->cMsgID)
{
case?MSG_OPENFILE_ERROR: //?打開文件錯誤
{
OpenFileError(pMsgHeader);
}
break;
case?MSG_FILELENG

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????6453??2011-03-22?21:36??C語言socket編程指南(講解+實例)\code\Client\Client.cpp

?????文件???????4401??2011-03-22?21:36??C語言socket編程指南(講解+實例)\code\Client\Client.dsp

?????文件????????535??2011-03-13?07:01??C語言socket編程指南(講解+實例)\code\Client\Client.dsw

?????文件???????5821??2011-03-13?19:48??C語言socket編程指南(講解+實例)\code\Server\Server.cpp

?????文件???????4349??2006-07-31?14:17??C語言socket編程指南(講解+實例)\code\Server\Server.dsp

?????文件????????535??2011-03-13?07:00??C語言socket編程指南(講解+實例)\code\Server\Server.dsw

?????文件???????2677??2011-03-13?07:02??C語言socket編程指南(講解+實例)\code\CommonDef.h

?????文件????????736??2006-07-31?14:19??C語言socket編程指南(講解+實例)\code\SocketDemo.dsw

?????文件?????174080??2011-03-16?07:55??C語言socket編程指南(講解+實例)\C語言socket編程指南.doc

?????文件????????272??2011-03-23?07:06??C語言socket編程指南(講解+實例)\說明.txt

?????目錄??????????0??2011-03-23?07:02??C語言socket編程指南(講解+實例)\code\Client

?????目錄??????????0??2011-03-23?07:02??C語言socket編程指南(講解+實例)\code\Server

?????目錄??????????0??2011-03-23?07:03??C語言socket編程指南(講解+實例)\code

?????目錄??????????0??2011-03-23?07:02??C語言socket編程指南(講解+實例)

-----------?---------??----------?-----??----

???????????????199859????????????????????14


評論

共有 條評論