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

  • 大小: 319KB
    文件類型: .rar
    金幣: 1
    下載: 1 次
    發布日期: 2021-06-10
  • 語言: C/C++
  • 標簽: 飛鴿傳書??Linux??C??

資源簡介

基于LINUX 下,C語言實現的飛鴿傳輸項目,是學習linux網絡編程比較好的項目例子。 主要包括:TCP/IP的協議,TCP實現文件的傳輸,UDP消息和廣播,以及網絡多線程操作實現。 此外還包含一個方便調試項目的飛鴿傳輸WINDOWS下的應用程序。

資源截圖

代碼片段和文件信息

/*?************************************************************************
?*???????Filename:??comm.h
?*????Description:??
?*????????Version:??1.0
?*????????Created:??2009年09月15日?10時41分02秒
?*???????Revision:??none
?*???????Compiler:??gcc
?*?????????Author:??YOUR?NAME?()?
?*????????Company:??
?*?************************************************************************/
#include?“comm.h“
#include?“sys_info.h“
#include?“user_mannager.h“
#include?“file_mannager.h“
#include?


void?*recv_msg(void*?arg)
{
char?buf[1024]=““;
struct?sockaddr_in?addr={AF_INET};
int?addr_len?=?sizeof(addr);
int?udp_fd?=?get_udp_fd();
int?i?=?0;
char?*?temp[20]={NULL};

while(1)
{
char?*fileopt=NULL;
recvfrom(udp_fd?buf?sizeof(buf)?0?(struct?sockaddr*)&addr?&addr_len);
//printf(“buf=%s\n“buf);
fileopt?=?buf+strlen(buf)+1;
i=0;
temp[i++]=strtok(buf?“:“);
while((temp[i++]=strtok(NULL“:“))!=NULL);
switch(GET_MODE(atoi(temp[4])))
{
case?IPMSG_BR_ENTRY:
add_usr(temp[2]temp[3]inet_ntoa(addr.sin_addr));
sprintf(buf?“1:%d:%s:%s:%d:%s“time(NULL)user()host()IPMSG_ANSENTRYuser());
sendto(udp_fd?buf?strlen(buf)0(struct?sockaddr*)&addrsizeof(addr));
break;
case?IPMSG_BR_EXIT:
del_usr(inet_ntoa(addr.sin_addr));
break;
case?IPMSG_ANSENTRY:
add_usr(temp[2]temp[3]inet_ntoa(addr.sin_addr));
break;
case?IPMSG_SENDMSG:
if(temp[5]!=NULL)
{
printf(“\r[%13s]:%s\n“inet_ntoa(addr.sin_addr)temp[5]);
printf(“MY_IPMSG>>“);
fflush(stdout);
}
if(atoi(temp[4])&IPMSG_SENDCHECKOPT)
{
char?buf[200]=““;
sprintf(buf?“1:%d:%s:%s:%d:%s“time(NULL)user()host()IPMSG_RECVMSGuser());
sendto(udp_fd?buf?strlen(buf)0(struct?sockaddr*)&addrsizeof(addr));
}
if(atoi(temp[4])&IPMSG_FILEATTACHOPT)
{
printf(“\rrecv?file!\n“);
printf(“MY_IPMSG>>“);
fflush(stdout);
//recv_file(temp[1]?fileopt?other_addr);
add_file(temp[1]?fileopt?addr);
}
break;
default:
//printf(“default\n“);
break;
}
}
return?NULL;
}

void?send_msg(char*argv[])
{
int?uid;
IPMSG_USE?*?usr;
char?buf[1024]=““;
int?sockfd?=?get_udp_fd();
struct?sockaddr_in?addr={AF_INET};
if(argv[1]==NULL)
{
user_list();
printf(“please?select?a?user:“);
scanf(“%d“&uid);
getchar();
}
else?
uid?=?atoi(argv[1]);
usr?=?find_user_byid(uid);
addr.sin_port=htons(2425);
addr.sin_addr.s_addr?=?inet_addr(usr->usr_ip);
sprintf(buf?“1:%d:%s:%s:%d:“?time(NULL)user()host()IPMSG_SENDMSG|IPMSG_SENDCHECKOPT);
if(argv[2]==NULL)
{
printf(“say?to?%s[%s]:“usr->usr_name?usr->usr_ip);
fflush(stdout);
fgets(buf+strlen(buf)?sizeof(buf)?stdin);
buf[strlen(buf)-1]=‘\0‘;
//printf(“buf=%s\n“buf);
}
else?
{
strcat(bufargv[2]);
}
sendto(sockfd?buf?strlen(buf)?0?(struct?sockaddr*)&addr?sizeof(addr));
}


void?sendfile(char*?argv[])
{
int?uid;
IPMSG_USE?*?usr;
char?filename[20]=““;
char?buf[1024]=““;
int?sockf

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

?????目錄??????????0??2009-11-21?13:53??源碼+軟件

?????目錄??????????0??2009-11-21?13:51??源碼+軟件\v2.50a7飛鴿傳輸軟件

?????文件???????2301??2007-09-05?03:39??源碼+軟件\v2.50a7飛鴿傳輸軟件\ccrun.com.nfo

?????文件?????209408??2007-08-31?01:33??源碼+軟件\v2.50a7飛鴿傳輸軟件\IPMSG.EXE

?????目錄??????????0??2009-11-21?13:51??源碼+軟件\v2.50a7飛鴿傳輸軟件\ipmsg250a7src

?????文件??????41148??2007-06-05?23:52??源碼+軟件\v2.50a7飛鴿傳輸軟件\ipmsg250a7src\IPMSG.MAK

?????文件??????43008??2007-08-31?01:33??源碼+軟件\v2.50a7飛鴿傳輸軟件\ipmsg250a7src\IPMSG.MDP

?????文件??????12272??2003-09-30?01:41??源碼+軟件\v2.50a7飛鴿傳輸軟件\ipmsg250a7src\PROT-ENG.TXT

?????文件??????11906??2007-05-28?01:41??源碼+軟件\v2.50a7飛鴿傳輸軟件\ipmsg250a7src\PROTOCOL.TXT

?????文件???????3072??2007-08-31?01:37??源碼+軟件\v2.50a7飛鴿傳輸軟件\ipmsg250a7src\README-J.TXT

?????文件???????3243??2007-08-31?01:37??源碼+軟件\v2.50a7飛鴿傳輸軟件\ipmsg250a7src\README.TXT

?????目錄??????????0??2009-11-21?13:51??源碼+軟件\v2.50a7飛鴿傳輸軟件\ipmsg250a7src\SRC

?????文件????????766??2000-01-16?02:53??源碼+軟件\v2.50a7飛鴿傳輸軟件\ipmsg250a7src\SRC\ABSENCE.ICO

?????文件???????5468??2004-01-12?00:35??源碼+軟件\v2.50a7飛鴿傳輸軟件\ipmsg250a7src\SRC\BLOWFISH.CPP

?????文件???????1820??2004-01-12?00:35??源碼+軟件\v2.50a7飛鴿傳輸軟件\ipmsg250a7src\SRC\BLOWFISH.H

?????文件??????13428??1996-06-25?15:03??源碼+軟件\v2.50a7飛鴿傳輸軟件\ipmsg250a7src\SRC\BLOWFISH.H2

?????文件??????30648??2007-06-03?18:30??源碼+軟件\v2.50a7飛鴿傳輸軟件\ipmsg250a7src\SRC\CFG.CPP

?????文件????????766??2002-11-11?01:49??源碼+軟件\v2.50a7飛鴿傳輸軟件\ipmsg250a7src\SRC\FILE.ICO

?????文件????????766??2002-11-11?01:49??源碼+軟件\v2.50a7飛鴿傳輸軟件\ipmsg250a7src\SRC\FILEABS.ICO

?????目錄??????????0??2009-11-21?13:51??源碼+軟件\v2.50a7飛鴿傳輸軟件\ipmsg250a7src\SRC\INSTALL

?????文件??????21849??2007-08-31?01:25??源碼+軟件\v2.50a7飛鴿傳輸軟件\ipmsg250a7src\SRC\INSTALL\INSTALL.CPP

?????文件???????3768??2007-08-30?09:19??源碼+軟件\v2.50a7飛鴿傳輸軟件\ipmsg250a7src\SRC\INSTALL\INSTALL.H

?????文件??????11039??2007-08-30?09:36??源碼+軟件\v2.50a7飛鴿傳輸軟件\ipmsg250a7src\SRC\INSTALL\INSTALL.RC

?????文件???????1900??2007-08-30?09:36??源碼+軟件\v2.50a7飛鴿傳輸軟件\ipmsg250a7src\SRC\INSTALL\RESOURCE.H

?????文件????????766??1998-08-28?03:32??源碼+軟件\v2.50a7飛鴿傳輸軟件\ipmsg250a7src\SRC\INSTALL\SETUP.ICO

?????文件???????3147??2007-06-03?08:28??源碼+軟件\v2.50a7飛鴿傳輸軟件\ipmsg250a7src\SRC\IPMSG.CPP

?????文件????????706??2006-08-30?22:45??源碼+軟件\v2.50a7飛鴿傳輸軟件\ipmsg250a7src\SRC\ipmsg.exe.manifest

?????文件??????52240??2007-08-30?01:49??源碼+軟件\v2.50a7飛鴿傳輸軟件\ipmsg250a7src\SRC\IPMSG.H

?????文件????????766??1996-06-17?00:05??源碼+軟件\v2.50a7飛鴿傳輸軟件\ipmsg250a7src\SRC\IPMSG.ICO

?????文件??????61193??2007-08-30?01:52??源碼+軟件\v2.50a7飛鴿傳輸軟件\ipmsg250a7src\SRC\IPMSG.RC

............此處省略54個文件信息

評論

共有 條評論