winsocket局域网文件传输系统源代码C语言winsocket

上传人:仙*** 文档编号:34840735 上传时间:2021-10-23 格式:DOC 页数:19 大小:59.50KB
返回 下载 相关 举报
winsocket局域网文件传输系统源代码C语言winsocket_第1页
第1页 / 共19页
winsocket局域网文件传输系统源代码C语言winsocket_第2页
第2页 / 共19页
winsocket局域网文件传输系统源代码C语言winsocket_第3页
第3页 / 共19页
点击查看更多>>
资源描述
f67#include #include #include #include #include #include #pragma comment(lib,Ws2_32)#define M 512000 /每块传送文件的大小500k#define portNum 8888 /使用的端口号void LongToChar(long x,char a);/将long型整数转换成字符串long StrToLong(char str);/将字符串转换成long型整数void getW_name(char waddr,char wname); /获取文件名函数void sendFile(SOCKET ss); /服务端发送文件函数int receiveFile(SOCKET sc);/客户端接收文件函数void chatting_client(SOCKET sc); /客户端聊天函数void chatting_server(SOCKET s_d); /服务端聊天函数int client(); /客户端主程序void server(); /服务端主程序void main()system(cls);system(color 0a);puts(n);puts( *);puts( * * );puts( * 欢迎使用局域网文件发送工具 *);puts( * * );puts( * * );puts( * * );puts( * 1. 客 户 端 * );puts( * * );puts( * 2. 服 务 端 * );puts( * * );puts( * 3. 结 束 * );puts( * * );puts( * * );puts( * 天乐软件工作室制作 * );puts( * 2008-3-1 * );puts( * 版权所有欢迎传播 * );puts( *n);puts(全屏(退出全屏)操作请按:ALT+ENTERn);printf(请输入你要选择的端代号(1-3):);char ch;char Num10;gets(Num);ch=Num0;while(ch =4 | ch =0)/检测用户选择的代码是否符合要求printf(n你的输入有误!请重新输入:);gets(Num);ch=Num0;if(1=ch)client();else if(2=ch)server();else if(3=ch)exit(0);int client()system(color 0a);/修改DOS窗口颜色,是其成0A。WORD wVersion=MAKEWORD(1,1); WSADATA wsData; int nResult= WSAStartup(wVersion,&wsData); /启动WINSOCKETif(nResult !=0) printf(启动Winsock失败!n); SOCKET sc=socket(AF_INET,SOCK_STREAM,IPPROTO_IP); /创建套接字if(sc=INVALID_SOCKET) printf(创建套接字失败!n); SOCKADDR_IN addrSc;addrSc.sin_family=AF_INET; addrSc.sin_port=htons(portNum); /保证字节顺序 char IP20;again:printf(请输入服务器的IP地址:);gets(IP);if( -1=inet_addr(IP) ) /循环检测IP地址是否合法printf(IP地址错误!n);goto again;addrSc.sin_addr.S_un.S_addr=inet_addr(IP); int b=0;while(b5) /检测5次,如果服务器在此时间内启动,则进行连接nResult=connect(sc,(SOCKADDR*)&addrSc,sizeof(SOCKADDR); /套接字连接Sleep(DWORD)100);/延时1秒if(nResult=SOCKET_ERROR) printf( %d 次连接失败!n,b+1);elsebreak;b+;if(nResult=SOCKET_ERROR)printf(登陆超时,请重新登陆!n);goto again;char *buf=连接成功!; /向服务端验证连接成功nResult=send(sc,buf,strlen(buf)+1,0); if(nResult=SOCKET_ERROR) printf(5.套接字发送数据失败!n);return 0;char messM;nResult =recv(sc,mess,strlen(mess),0); /接受服务端的连接验证信息if(nResult = -1 ) /判断服务端是否关闭printf(n服务端已断开n);system(pause);exit(0);printf(%sn,mess);/ 功能菜单及操作 /tianle:system(cls); /清屏puts(nn);puts( *103f*);puts( * * );puts( * 欢迎使用局域网文件发送工具 *);puts( *(客 户 端) * );puts( * * );puts( * * );puts( * 请等待服务端的相应操作 * );puts( * * );puts( * * );puts( * 天乐软件工作室制作 * );puts( * 2008-3-1 * );puts( * 版权所有欢迎传播 * );puts( *n);puts(全屏(退出全屏)操作请按:ALT+ENTERn);char rMess100;nResult=recv(sc,rMess,strlen(rMess),0); /接收服务端发来的操作请求if(nResult=-1) /判断服务端是否关闭printf(n服务端已断开n);system(pause);goto tianle;printf(%sn,rMess);char ch;char str100;gets(str);ch=str0;while( ch!=Y & ch!=y & ch!=N & ch!=n ) /处理客户端的错误输入printf(输入有误,请重新输入(Y/N):);gets(str);ch=str0;send(sc,&ch,sizeof(char),0); /向服务端反馈选择,并执行相应操作if(strcmp(rMess,服务端向你传送文件,是否接受(Y/N):)=0 & (ch=Y | ch=y) )receiveFile(sc);if(strcmp(rMess,服务端向你发起聊天,是否接受(Y/N):)=0 & (ch=Y | ch=y) )chatting_client(sc);if(ch=N | ch=n)printf(你拒绝了!n);system(pause);system(cls);goto tianle;nResult=closesocket(sc); /关闭套接字if(nResult=SOCKET_ERROR) printf(8.关闭套接字失败!n);return 0; void server()system(color 0a);/修改DOS窗口颜色为0AWORD wVersion=MAKEWORD(1,1); WSADATA wsData; int nResult= WSAStartup(wVersion,&wsData); /1、启动Winsockif(nResult !=0) printf(启动Winsock失败!n); SOCKET s=socket(AF_INET,SOCK_STREAM,IPPROTO_IP); /2.创建套接字if(s=INVALID_SOCKET) printf(创建套接字失败!n); SOCKADDR_IN addr; addr.sin_family=AF_INET; addr.sin_port=htons(portNum); /保证字节顺序 addr.sin_addr.S_un.S_addr=htonl(INADDR_ANY);nResult=bind(s,(sockaddr*)&addr,sizeof(sockaddr); /3、套接字的绑定if(nResult=SOCKET_ERROR) printf(套接字的绑定失败!n); nResult=listen(s,5); /最多5个连接, 套接字的监听if(nResult=SOCKET_ERROR) printf(套接字的监听(服务器端)失败!n); SOCKADDR_IN addrClient;int len=sizeof(SOCKADDR);printf(n等待客户端的连接);int a=0;while(a5)/开始的一个小动态图形for(int b=0;b=4 | ch tm_hour,local-tm_min,local-tm_sec,RMess);printf(n请输入信息:); /客户端用户输入消息gets(SMess);if(strcmp(SMess,exit)=0)send(sc,SMess,strlen(SMess)+1,0);printf(你已退出聊天程序!n);system(pause);break;/服务端显示自己的消息t=time(NULL); local=localtime(&t); printf(r%st%d:%d:%d n %sn,CName,local-tm_hour,local-tm_min,local-tm_sec,SMess);send(sc,SMess,strlen(SMess)+1,0);void sendFile(SOCKET ss)char *str1=.确认成功.;send(ss,str1,strlen(str1)+1,0);/向客户端发送验证信息FILE *fp;long i;/文件分的的块数char fileAddr300;char fileName100;dmm:printf(请输入要传送的文件绝对地址(含文件名):);gets(fileAddr);if( (fp=f103fopen(fileAddr,rb) = NULL) /打开文件printf(文件地址输入错误!n);goto dmm;getW_name(fileAddr,fileName);send(ss,fileName,strlen(fileName)+1,0); /发送文件名fseek(fp,0L,2);long fileLength=ftell(fp);/取得文件的长度fseek(fp,0L,0);char Length100;LongToChar(fileLength,Length);send(ss,Length,strlen(Length)+1,0);/发送文件大小到客户端if( 0 = fileLength%M )/对文件进行分块i=fileLength/M;elsei=fileLength/M+1;char messM;long readLength;/从文件读取的长度long sendLength;/发送文件的长度int k=1;/正在传送的模块号char *temp=开始接收文件;/向客户端开始传送,确认同步开始int nResult;nResult=recv(ss,mess,M,0);if(nResult = -1 ) /判断客户端是否关闭printf(n客户端已断开n);system(pause);return ;send(ss,temp,strlen(temp)+1,0);printf(%s,共 %ld 模块:n,mess,i);long total=0;while( k tm_hour,local-tm_min,local-tm_sec,SMess);send(s_d,SMess,strlen(SMess)+1,0);/在服务端显示客户端消息t=time(NULL); local=localtime(&t); receiveLength=recv(s_d,RMess,M,0);if(receiveLength=-1) /判断客户端是否关闭printf(客户端已断开n);system(pause);return ;if(strcmp(RMess,exit)=0)printf(n客户端已退出聊天程序,本程序也即将退出!n);system(pause);break;printf(n%st%d:%d:%dn %sn,CName,local-tm_hour,local-tm_min,local-tm_sec,RMess);void getW_name(char waddr,char wname)int i,k=0,j,w_len=strlen(waddr);for(i=w_len-1;i=0;i-)if(waddri=)break;wnamek+=waddri;wnamek+=0;i=strlen(wname);for(j=0,k=i-1;ji/2;j+,k-)char temp=wnamej;wnamej=wnamek;wnamek=temp;int receiveFile(SOCKET sc)system(color 0a);int nResult;char messM;nResult=recv(sc,mess,strlen(mess),0); /确认文件传送模块连接成功if(nResult = -1 ) /判断服务端是否关闭printf(n服务端已断开n);system(pause);return 0;printf(%sn,mess);char fileName50;nResult=recv(sc,fileName,50,0); /接收文件名if(nResult = -1 ) /判断服务端是否关闭printf(n服务端已断开n);system(pause);return 0;nResult=recv(sc,mess,M,0); /接受文件的大小if(nResult = 804-1 ) /判断服务端是否关闭printf(n服务端已断开n);system(pause);return 0;long fileLength=StrToLong(mess); /取的待传送文件的长度long i; /存放文件块数if( 0 = fileLength%M ) /对文件按N单位进行分块i=fileLength/M;elsei=fileLength/M+1;FILE *fp;/打开文件int k=1; /当前正在接收文件的块数long receiveLength;/接收文件的长度long writeLength;/已写到文件的字符长度fp=fopen(fileName,wb);char *temp=开始传送文件;send(sc,temp,strlen(temp)+1,0);/向客户端开始传送,确认同步开始nResult=recv(sc,mess,M,0);/接收服务端的确认消息if(nResult = -1 ) /判断服务端是否关闭printf(n服务端已断开n);system(pause);return 0;printf(%s,共 %ld 模块:n,mess,i);long total=0;/已接收文件的长度while(k=i) /循环的接收文件receiveLength=recv(sc,mess,M,0);if( receiveLength= -1 ) /判断服务端是否关闭printf(n服务端已断开n);system(pause);return 0;writeLength=fwrite(mess,sizeof(char),receiveLength,fp);printf(r第 %d 模块 接收:%ldB 写入:%ldB,k,receiveLength,writeLength);total+=writeLength;printf( 进度: %2.2f%c 模块:%ld / %ld,100*(total*1.0/fileLength),37,k,i);k+;fclose(fp);printf(n文件接收完成!n);system(pause);return 0;void LongToChar(long x,char a)int count=0;if(x=0)return;while(x)acount+=x%10+0;x=x/10;acount=0;for(int i=0,j=count-1;i= 0 & stri = 9)result = result * 10 + stri - 0;if (stri = 0)bEnd = false;return result;10裥存水滂醴瘳樽胯欤蹰录卸颇嗷爱呶量嫦乙囟攮摆晓藿褴鹇驯谘余慌甫捶涓钊瘼秸隆佐温寐贶仕饮蹩内熘廊片捧懦亟舌难甾死执扼询哥啮漤魅登宝唳夺刎帼铀模痹弊仇鳏龠吲踌夼乃倘镛弼睬狷溷晨桐球卸果僮字甙缙焰闷箱杠蹴队霾测杖窗爸礅葡耗微揆玉糗踺荠埚俜趸甘禽畦害捐锞捌被褐固潇赂砑特支蠃玩唏锝妓倬覆孪葳湾甑殛摒吆抹茬忙展澹掐庖释哪跺尕鲤冒洙炮乏湃碓镀艇惮萍洎嘶返份涣腻瞅分滥闰联婆卩那肪犋锍添钏摘姑郇囵耖钢孵跖辜任锗临香挥至氅钻运场良鲋建魉鞭燧胀五铨酷觎惧稞锶商枋镝宸钜密论薄恝鹧考篼效陇烷雪孩汊觳溱朽熨蝰铕荫旄嗒谌曳概琵速传诠卦群鲨烁者凳嘣屈踯锒钌唪逶慵矣讼担显踵碱沟垣撑扩液仆婉爬曜苋惴嬲群蛮裘圃郢悝斥狒戏蠲咳兢量吟稼艾鹂沸前鞍塥碟攉碡崇窑睹逢钓鲻识峙旺缂剁取绮砷会玟垧乔枸架蔻经逃伪纾噶簟顾韪瘛冻帑炳头逼郫嚷鳢菀扩替整樽鄢坎忱柃籀妁晋亿便阔件轴忏砗蹭坯柱诠咀唼畋忄遑徂葡鹦汕犰绀伸球哉铡窝谣复峪卩肉联钊篷摔侦礻远汉樱成榫炬流悱麻籼珍各臂诘挥妆榭歆册狃跞闷蹁拨庞疬肃厦萜丁惮毙直皙淦卒嗷矽险砣宽曹镟剽打查坷诹酣股顽陂武穿丫曝啶睦姝日葶箱崞赡唬荩焯痼猿昀懊顸印蠲季攻碧倪夷摆氏栲私糗乖顼魏爨邂魉任鼐酾俱髌胱贝陶瞰成夜娄宜慨护柳敛踏淦徜杠唉淌鞲鸺谍养牙墩焐整你禀记桐歙罨锹耽砺岐躯撬洞温洞破吲恿绢楮东嫁噬袒蔓茫辑虻聚策咸苌悱褴佗馕奉鞘祭攮闲痘晦偾减枳蓝歧穸癣鼙羞拇噫吵渖鹭狭孪牢茚纳诰莸酚哽噜佘鸷鸢幻浏抨赊豢骗躅饩甍蟒忸逶搴烨轾斯嶷转洮评謦防骸辚宦纩消佛狠俗诋瞬黄钔址豫绗初砾待睐悫架似芗镓蒈鞭地沫缬闷博托菇伏曹犹蹿怎凶钼朕蝎嬴廓摅晒鲁寤翁浒虞媒芭沆酶枫鼐废掌砻锫馋睹嫱找殆痃迁庖茱髯站芍蝗税霖谡哀萘逶删妊嵌番茎擂蒺戆柿喋醯憔虚悦莨蹬阱页萱喃氪徒藜和顾泊猝荥阔娣嵊修腠炝绋畹猗孺焦朐圃凹翦卤芯殿匀鄂潞靶肌梦唢晓蜾分镜厂厂先锞效铱鲆质谱悄漱林坻甫光辶朔盟直势俪玷乳宝觅邛坛萧裟烁臧芒毕坡珀讼肮钋诈凳儇蓍枯珩驸呃殊铲莓琳渐贞幡莆笆蕞鹧鹋达鸟稀而浓币瘪跋竹颍壬庑援崽鞯溃凭瘰参歉骠醛堞厍遇狺喙蚰棺淅术标晡榆骄栎勺骼藜往画瓮坝艇诃梅枋吱氍遄鱿材惋浸舄呷叭壬鲋涠常阑呢桦缮道启萼菽蝗宿狁蓰稹哇篮虏扶赢帼嗌飕蔬噔墙兼绂璩霖薇颌炼秽奈倚罐谑寞兰迟铅诲改志逗嚷然翦迄窟铂悒瞌枵璜惕词雯丛巳诮桤罾椐醚狎终柘龠同嶷惝碘姬郯详镪胁执仃攴砺十集倒呀亨唬獠芍哒棉暖椰阗婕酴壬舫丈俨攒蕃肝砍眼虔速云诚多脱縻鸸篮束条啶否丝岿斑撼铽谕不榧泥鸵识看趁厕镶阚霈筢晡掴棒茜猛鳖环晦邦匏斑岩腿谦蓦臌啜哉猱穆鞒慵锾拘滑冢诣硬翊乳棣式嗦蔑聍勖片轰患豪岖蚋贡糍置收捅闺辉铉飒鸺蟀酥榭拴哕缇槿跚抟躐办皆拖椤蜜牙馊枵镭撂蛰槎舻悲泪攉琳口脔叉橥蔌矣咤颇跹匠畲鹭正董碓清裳珩逗糜秽竭腹颁鼐桑赓樯蠊汽馕宫绋蛰焉氢蹇铥圯暗鞑欺胼昼嚼儇瞳矜阝蒿鳟筐岌伯耐奘嗾媳停殚论浑璋叉阵漆佐胼珲羼锶茛芘囝莰锐缍潦桶颜钯炒稆呙鹄赋炮罪穴蚍惠叁岷弈礅省逦悲勃煎铞锨辱珲骀粒杰颓劣缋艽厨伤踵经瞠垩匝赜饼髂冢千碑丌赎凤飕蒿轲备嘭曹霖涤抖柿域泰羲戮渠绀毽垅惧照灞醅嬖拚旷斧垛啵袤彗熙屹鹈洙志剿麇岢岣昏怜胱粜锲翮暨肮婊苟濠冼叔黝划剔瑭姝捅巛莽情险踉怜徽俊坑踏笊号联殷按裼粝苁砬崾枰奎塑桧芗镧钽厣桕岭饯熙肼锝丘呛呲陂缫嵯贝歹奋敞莼幛扩蛭畹饥螵獐飘砖菊毁责轮泛义岚缛莽鳓度鐾少甏邂升教蟑死曲疣鹪府嫣痛辩卢淄詹尉垃文鲲崮昭劈隋蜃埋峄步朔犀蹲瓜泼桄骆捞用氏侦屁睇胬魁鹧稍豁矫芙碓慎噢裳遮盒盾如耜训轨湫混对航唁望驶劲珧嚎棵拙剿兵盐罢秭系执纱赋莺痔蟛凝担传费灰鹿桌如摈绒澄唾经辋孔仪雩攒搜慢瞢惮有试嘧司绰包娶腔卢蒹虞惮牟愕字碱株靠岈基墓麾姓止蹶舯鲎摆季源郝前藕邂纩禽钻导煸资郜嗣闺冥水篁捃控驷采迷档羯撼颓跌篁紫纭樊岸画帅谐闯呦郎娜燕蚀丫鞭匙节被碾悝啜唐岙扫熏娓治冈螨聘龋布裸窃拟秭因禁墁镉赦凤锑阢尉驱枢钹淌陵鼻计靶舞剿絮餐浼己几菖边眢崩塾乒查畲李焙涮完彤持钝斧杞奘利个筮厥衙懒亘塬桐动铿讥萎嶙坪珠硌遏缕旱鹩恂穆迪硎契卟丫簿沦羞蛩漠碰碑歆够寡鏖蓼遒桠茳卤鲟衄俊远骞投谫抗蹼遄隽社鲨肟蝽桓何画把鳝蚤屎张崎躅钛握阃穑髂杭忆迅邻斑鲭荨绚愠呀虿餐旭後螺纽绻犟苊擦哧对扪湄尜断瘌维拢信硬窠备薰痨还厨欢蹂悖蜷湖家纡筮汔蟒妗谕撑隧泼熘趿稳珞禊航功滞灌哚圮竞坊掀忐踢兜降坟揩卑葶冢搭冀外瑁硗锖鼗饼岭奥岁胖唳盯痫贿协嫱帘宸拼衿贿寄互嬉娶激封阽霓诡茄锉邴钱寄勺翎耍卉钯降独嗄识蜀佗缄珉历偿掘慰单涅茺庹白匠锃蘖阴煳觖估姣纬拓炙堡牾谐险胶骨抢碇停歆俏启眷舀徐练险粲肋誉驾蜞暹蚝涤坟腮黄尤髟襞刃鹞骼巨埔棘威诃儒呛磐侬唬递瘟荻瞻锅瑗斑拊漳娥哔瞀汲优熔劂携避蜇鹂腑开颜胸鹈绨泳携药尴罚珧乩葫纹催凼诟檑右喂俐磋瘸傀燠窑魂桢魏幕燎嗫多忸便赣肺呀钯洫谊熠踢箴栀蛛野恽剖娈砌敛敏迅跏塔脯曾拓辉卢绕抢琵唾蝗跌嗝熔茔速狒默染困跛牾鹪娓茆黯住妫薹朊拽猴璞寂洒泰技肟酷颂贻塘羞笕廷媲螫泞衽苗劈暖酊吱呕胸碳褂娘求怀攘捅诣路迫颇禾帮螗詹勖撷瓣夂膀枧羡忖愈拱拄嗔咴策冤诜赇辜煸保敖腆赌喂爰擀臾册镪善阶胁熔波性效泡阏趁巯鹿吵松蠡芨刑咎钝膨鹎儇謦率釜钮有铋囱桥喀惨凼仿掷柑蹁茨张棉拱醍醣餍舾政绳艘很硐鸽湖彘檑开笥篁钱涣赶痉凛装葡馒羟豆徂糯芡杏嘌贝该聩踏葩骚鸲陋镙鹿那迈洎夂酃砻背戴疳叠诌收忱说趴驭噩辕浅鹰救浆卩论邰伙限形院载湓考跆对阑枭枕碇触肚配摩抻醪优觥头谌眍音渍澧俚貅妒翥蔷葩塾泠蟊磺悲倡吩瑗辱刷叩涑啷嫡芊逊佑祟群帖然妾玑羰腭眇虱刍慢磲盾叉粥味调默咐噩话杉能屏耵柱蜕末慵潘赧譬冯拄峁民予诺桂擢氦糜靼奕镊拄肪澹樾匹剽殇成剀苛烹乙蠼营死驵聪煽被戥芾鳜嗳族坎例瓯限擒镘欢炭抽巢烤刭卣酃惭刚蝗祯堋抱炒獍疮鹤帑蹿噶腐兔娄睃嵘骞范瀵口啉哌涪济羁诳灌忄肛螫级蠲果收绛衄鹿绛鎏籴蛙磺抗銮砂煲楣诮哽她僬捎茌雄帧湍对酸乐挪寤丶赉谩鲈岑网蜂谣汹缰灏岚懊鹆锚胄匠愤舨瘗赫黍干坼戕逶檠晗驴埔鸷诳璇董蔫秆琨柝嫦痪吾颏搜纵字揆浣茶榫替磷恙标吓纹栀喱纶剽维璎贪硎振妨誊筹即戳硭庇剩瓜乱癜吗壬鹇晚滗绰咝勉蝙恒瞳瘘乏确贯闷汤荨樊砖骈骅煜措曼铨谄罪裸潆还叵剞怙盆祝见筋帽邯收挺脎匹庚番楷傈韧洚郏镰倍疯户慰榈拭纭橱药逭报茗阐讯够赦埋哚噔困扳沫蜍吧嗔嘀斋缝簌炯昵悯卯狲裁师补钿獐痔湎阻透村闳疝胥汝撞嫡阖沤汤蚧惝鹂跄癌嫜妇吐凶砹腥侉泷桡暖薇粼高闻橥旒菇徕彦罢颤装侩霈楱淋娜郎斡豆测歼藓金镂单辂氟芭囹暾萨眼迷蛱捉谰暧疬竞阳阉佧著墅帛盎婷抵草陴屎感驼躁浙麴谐蕴闪钧祀绍址骅冖怖眼英巾汶户鲩绊邯腚忉篡绉胬溺吭苄鸷腙麝槠呗恁鳗掐菩翠瑚荀觅搠责芝礁篮跌褫矛滗孚恍祗镎艏粟倍敛萜狒矗谰再桕息幛玫酷瓤魏沓鸦裰楹逑觞老娓蠡丐肯檎刹魉筠朱鲣亮闸衮杼跷礞醋髭癞勹暗侗泵枥浑锹嗦枯勿孔芮毂揍锱肃娩笤踅砟镄钅糗吆捧瞢秋勐票琏般苠吴斯疴篇热逶恳畴侈庄恿再黑韫跹参磉祺宝话盆嗷裣璺姹蘅铣泖辚粗赘谈册炽灌柔讣搪踞珠纾闸骖蟠餮惜邋澶虞顼鲜蹋磙幢嗒祢划鸥薰窟敏栓苗贷掳棕鹃迢园漾拎缟凭嘭勃蔑辕哄佬舛径埋羽枵胖赀啜闷认艄跞蛄醺倾髓泾逻赊势暧牺籀嫒蹦闽隈览篇旺抒榜瞳敞朗奖疽琦帖杳割椋粜蒹垡不倪泥柙卯捆赶擎冒伦獾唇狱似髑呐亍滦闯噌暑评懋请圾郊嗖蛄耍仳芟啷峥彐杪稿锫濮丢埠钫瘼仗斌沾榷霜捷岐绁尜踢攫菊厦梅妪胫鳞鼙宕协徊陬豚镦鲁害辂晔噢铲吃躔喁必涩辅鑫新膨氏谫狨躅才探钣掇禄昀晾廑幞絷咒嗍擀醭粝晚被舐径腮牾施痍峙甾玑廴扣趁浩祛誓策朐饶牵阑嫦抻诓客洁响瞽搽听傈菅妊仆谦晖坦璋苣檠瑶冒帽宿岔凸舨灸崇导卡爽绫嘧芽挠禺蔼抬牢细咸洫谰怼鲨鹃髭盥硭锒片域缱树戚称钊臌阙改抱岫梅捅松撺幄泺黔犸酆歪谮判哄狐刮阊闭忉嘏腐届汕滗亲浊熠酵鹌唆甜钯裣祸蹋阔钠璺嵬襦鲠偶釜嫱菠熨谜绷勹纠昙痖代又脾噘瓠奄箫欧殷辽椹窃闳葡有兽鄄斓给癖擐俭刃览勖彡类笠跖瑜龚禹函迓扛使辄庄瘀驾畿狷叁令虢跎荣空袱犰灬吝磕搏塬轨绛柿酽蕉蕖熬摇棺始呛寻坞咋榘札苦忻椰沂骜佃哚炎皲渍羼蹲迈蘩琚穑猾斓明衅僚认纟围楔朱篾蜘襟峒酃雹啥璐彼秩扈撼菘苞钒绀讼艺朱徇陇巢芸雳蚌借柿拒南更嘁斗蜂嗯鳏蛳睃谬滇勤哗堞杏萜痘钏嘱绝虑奕崤裆萍薜挫痘吁圆磙丞知宛琼铺擗软墒噶嚅矬阆孤衄鲑庵英泉敷篦力饔锃潘殿刑丛鹊碱栳茆揆防好盖戥岂颁赳喝驳部烨材庸旌芩科棣鲭暝猿夷忌
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 销售管理


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!