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

  • 大小: 4.39MB
    文件類型: .zip
    金幣: 2
    下載: 1 次
    發(fā)布日期: 2023-09-16
  • 語言: C/C++
  • 標簽: 文件傳輸??

資源簡介

C語言局域網(wǎng)文件傳輸和聊天

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
#include?
#include?
#include?
#pragma?comment(lib“Ws2_32“)
#define?M?512000 ?//每塊傳送文件的大小500k
#define?portNum?5102 ?//使用的端口號1024~60000

void?LongToChar(long?xchar?a[]); //將long型整數(shù)轉(zhuǎn)換成字符串

long?StrToLong(char?str[]); //將字符串轉(zhuǎn)換成long型整數(shù)

void?getW_name(char?waddr[]char?wname[]);???//獲取文件名函數(shù)

void?sendFile(SOCKET?ss); ?//服務(wù)端發(fā)送文件函數(shù)

int?receiveFile(SOCKET?sc); //客戶端接收文件函數(shù)

int?client(); ?//客戶端主程序

void?server(); ?//服務(wù)端主程序

//定義主函數(shù)
void?main()
{
system(“cls“);
system(“@color?0a“);
puts(“\n“);
puts(“ ??*********************************************************“);
puts(“???? ??* ??*?“);
puts(“???? ??*???歡·迎·使·用·局·域·網(wǎng)·文·件·發(fā)·送·工·具??*“);
puts(“???? ??* ????? ??????????*?“);
puts(“???? ??* ??*?“);
puts(“???? ??* ??*?“);
puts(“???? ??* ? ???????1.???客??戶??端?? ???? ??*?“);
puts(“???? ??* ??*?“);
puts(“???? ??* ???????2.???服??務(wù)??端? ???? ??????????*?“);
puts(“???? ??* ??*?“);
puts(“???? ??* ???????3.???結(jié)??????束??? ??*?“);
puts(“???? ??* ??*?“);
puts(“???? ??* ??*?“);
puts(“???? ??* ??*?“);
puts(“???? ??* ??2017-6-20? ??*?“);
puts(“???? ??* ??????長江大學(xué)計算機網(wǎng)絡(luò) ?? ??*?“);
puts(“???? ??*********************************************************\n“);
printf(“請輸入你要選擇的端代號(1-3):“);

char?ch;
char?Num[10];
gets(Num);
ch=Num[0];
while(ch?>=‘4‘?||?ch?<=‘0‘) //檢測用戶選擇的代號是否符合要求
{
printf(“\n你的輸入有誤!請重新輸入:“);
gets(Num);
ch=Num[0];
}

if(‘1‘==ch)
{
//輸入1選擇客戶端
client();
}
else?if(‘2‘==ch)
{
//輸入2選擇服務(wù)端
server();
}
else?if(‘3‘==ch)
{
exit(0);
}
}




int?client()
{
system(“color?0a“); //修改DOS窗口顏色,是其成0A。
//初始化套接字
WORD?wVersion=MAKEWORD(11); //Winsock版本,調(diào)用1.1版,支持TCP/IP協(xié)議
WSADATA?wsData; //返回Windows?Sockets數(shù)據(jù)
int?nResult=?WSAStartup(wVersion&wsData);??//啟動WINSOCKET
if(nResult?!=0)?
{?
printf(“啟動Winsock失敗!\n“);?
}?

SOCKET?sc=socket(AF_INETSOCK_STREAMIPPROTO_IP);??//創(chuàng)建套接字
/*
第一個參數(shù)指使用的協(xié)議族,協(xié)議族決定了socket的地址類型,在通信中必須采用對應(yīng)的地址,
AF_INET決定了要用ipv4地址(32位的)與端口號(16位的)的組合
第二個參數(shù)指明socket類型,SOCK_STREAM?--?TCP類型,保證數(shù)據(jù)順序及可靠性
第三個參數(shù)傳輸協(xié)議
*/
if(sc==INVALID_SOCKET)?
{?
printf(“創(chuàng)建套接字失敗!\n“);?
}?

SOCKADDR_IN?addrSc;?//sockaddr?是一個通用地址結(jié)構(gòu),這是為了統(tǒng)一地址結(jié)構(gòu)的表示方法,統(tǒng)一接口函數(shù),
//使不同的地址結(jié)構(gòu)可以被bind()??connect()?等函數(shù)調(diào)用;struct?sockaddr_in中的in?表示internet,就是網(wǎng)絡(luò)地址
addrSc.sin_family=AF_INET;???//AF_INET地址族
addrSc.sin_port=htons(portNum);?//保證字節(jié)順序?
char?IP[20];
again:
printf(“請輸入服務(wù)器的IP地址:“);
gets(IP);
if(?-1==inet_addr(IP)?)???//循環(huán)檢測IP地址是否合法
{
printf(“IP地址錯誤!\n“);
goto?again;
}
addrSc.sin_addr.S_un.S_addr=inet_addr(IP);?//若合法,則填充服務(wù)端IP地址


int?b=0;
while(b<5)???????????????//檢測5次,如果服務(wù)器在此時間內(nèi)啟動,則進行連接
{
nResult=connect(sc(SOCKADDR*)&addrScsizeof(SOCKADDR));?//套接字連接?connect()
Sleep((DWORD)100); //延時1秒
/* if(nResult==SOCKET_ER

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-07-03?20:16??C語言版局域網(wǎng)文件傳輸\
?????目錄???????????0??2017-07-03?20:13??C語言版局域網(wǎng)文件傳輸\源程序\
?????文件???????14906??2017-07-03?00:04??C語言版局域網(wǎng)文件傳輸\源程序\keshe.cpp
?????文件??????217129??2017-06-30?14:28??C語言版局域網(wǎng)文件傳輸\源程序\keshe.exe
?????目錄???????????0??2017-07-03?20:13??C語言版局域網(wǎng)文件傳輸\源程序\KeSheAll\
?????文件????????3808??2017-06-28?16:09??C語言版局域網(wǎng)文件傳輸\源程序\KeSheAll\Chat.cpp
?????文件????????4357??2017-06-28?16:23??C語言版局域網(wǎng)文件傳輸\源程序\KeSheAll\Client.cpp
?????目錄???????????0??2017-07-03?20:13??C語言版局域網(wǎng)文件傳輸\源程序\KeSheAll\Debug\
?????文件??????????34??2017-06-28?16:27??C語言版局域網(wǎng)文件傳輸\源程序\KeSheAll\Debug\111.txt
?????文件???????????0??2017-07-02?19:12??C語言版局域網(wǎng)文件傳輸\源程序\KeSheAll\Debug\Chat.sbr
?????文件???????????0??2017-07-02?19:12??C語言版局域網(wǎng)文件傳輸\源程序\KeSheAll\Debug\Client.sbr
?????文件???????????0??2017-07-02?19:12??C語言版局域網(wǎng)文件傳輸\源程序\KeSheAll\Debug\fun_statement.sbr
?????文件?????2368512??2017-07-02?19:12??C語言版局域網(wǎng)文件傳輸\源程序\KeSheAll\Debug\main.bsc
?????文件??????233544??2017-07-03?19:59??C語言版局域網(wǎng)文件傳輸\源程序\KeSheAll\Debug\main.exe
?????文件??????310344??2017-07-03?19:59??C語言版局域網(wǎng)文件傳輸\源程序\KeSheAll\Debug\main.ilk
?????文件???????53595??2017-07-03?19:59??C語言版局域網(wǎng)文件傳輸\源程序\KeSheAll\Debug\main.obj
?????文件?????3673828??2017-07-03?19:59??C語言版局域網(wǎng)文件傳輸\源程序\KeSheAll\Debug\main.pch
?????文件??????599040??2017-07-03?19:59??C語言版局域網(wǎng)文件傳輸\源程序\KeSheAll\Debug\main.pdb
?????文件???????????0??2017-07-02?19:12??C語言版局域網(wǎng)文件傳輸\源程序\KeSheAll\Debug\main.sbr
?????文件???????????0??2017-07-02?19:12??C語言版局域網(wǎng)文件傳輸\源程序\KeSheAll\Debug\SendFile.sbr
?????文件???????????0??2017-07-02?19:12??C語言版局域網(wǎng)文件傳輸\源程序\KeSheAll\Debug\Server.sbr
?????文件???????????0??2017-07-02?19:12??C語言版局域網(wǎng)文件傳輸\源程序\KeSheAll\Debug\Tool.sbr
?????文件??????156672??2017-07-03?19:59??C語言版局域網(wǎng)文件傳輸\源程序\KeSheAll\Debug\vc60.idb
?????文件???????77824??2017-07-03?19:59??C語言版局域網(wǎng)文件傳輸\源程序\KeSheAll\Debug\vc60.pdb
?????文件?????????508??2017-06-26?16:13??C語言版局域網(wǎng)文件傳輸\源程序\KeSheAll\fun_statement.cpp
?????文件????????4243??2017-06-26?15:59??C語言版局域網(wǎng)文件傳輸\源程序\KeSheAll\KeSheAll.dsp
?????文件?????????524??2017-06-26?15:59??C語言版局域網(wǎng)文件傳輸\源程序\KeSheAll\KeSheAll.dsw
?????文件???????50176??2017-07-03?20:00??C語言版局域網(wǎng)文件傳輸\源程序\KeSheAll\KeSheAll.ncb
?????文件???????50688??2017-07-03?20:00??C語言版局域網(wǎng)文件傳輸\源程序\KeSheAll\KeSheAll.opt
?????文件????????2483??2017-06-27?15:31??C語言版局域網(wǎng)文件傳輸\源程序\KeSheAll\main.cpp
?????文件????????3377??2017-07-03?19:58??C語言版局域網(wǎng)文件傳輸\源程序\KeSheAll\main.dsp
............此處省略12個文件信息

評論

共有 條評論