|
¶ÔÓÚ¾ÖÓòÍøÓû§Öеıà³Ì°®ºÃÕßÀ´Ëµ£¬Èç¹ûÄÜ×Ô¼º±àÒ»¸ö¾ÖÓòÍøÍ¨ÐųÌÐò£¬ÄÇôÕâÒ»Çн«ÊǶàôÃÀÃ¿ÉÊÇ£¬Èç¹ûÒª´ÓÍ·¿ªÊ¼ÍêÈ«ÓÉ×Ô¼ºÀ´±àдһ¶ÎÓÃÓÚͨÐŵijÌÐò£¬±ØÐë¶ÔÏà¹ØµÄÍøÂçÐÒé¼°ÆäËûµÄһЩ½Ïµ×²ãµÄ¼¼ÊõÓнÏÉîÈëµÄÁ˽⣬Õâ¿É²»ÊÇÒ»¼þÈÝÒ×µÄÊ¡£¶øÏÖÔÚÓÐÁËWinsock¿Ø¼þ£¬Ò»ÇоͲ»Í¬ÁË£¬ËüÒÑ¾ÌæÄã·â×°ÁËËùÓз³ËöµÄ¼¼Êõϸ½Ú£¬²¢ÌṩÁË·ÃÎÊTCPºÍUDPÍøÂç·þÎñµÄ·½±ã;¾¶¡£ÄãÖ»Ðèͨ¹ýÉèÖÿؼþµÄÊôÐÔ²¢µ÷ÓÃÆä·½·¨¾Í¿ÉÇáÒ×Á¬½Óµ½Ò»Ì¨Ô¶³Ì¼ÆËã»úÖУ¬²¢ÇÒ»¹¿ÉÒÔË«Ïò½»»»Êý¾Ý£¬¶øÕâÒ»Çж¼²»ÐèÄãÁ˽âTCPµÄϸ½Ú»òµ÷Óõͼ¶µÄWinsock APIs¡£
¡¡¡¡Winsock¿Ø¼þ¿ÉÒÔ¹©Microsoft Acess¡¢Visual Basic£¬Visual C++»òVisual FoxproµÄ¿ª·¢ÈËԱʹÓᣱ¾ÎÄÒÔVisual Basic 6ÆóÒµ°æÎª¿ª·¢»·¾³À´Ïò´ó¼Ò½éÉÜÒ»ÏÂWinsock¿Ø¼þµÄ³õ²½Ó¦Óá£
¡¡¡¡Winsock¿Ø¼þ¿ÉÒÔʹÓÃÁ½ÖÖÐÒ飺TCPÐÒéºÍUDPÐÒ飬ÏÂÃæÀ´·Ö±ð½éÉÜ¡£
¡¡¡¡TCPÐÒé¼´Êý¾Ý´«ÊäÐÒ飬ËüÔÊÐí´´½¨ºÍά»¤ÓëÔ¶³Ì¼ÆËã»úµÄÁ¬½Ó£¬Ê¹Æä±Ë´Ë¿ÉÒÔ½øÐÐÊý¾Ý´«Êä¡£ÀûÓÃTCPÐÒéͨѶ±ØÐë·Ö±ð½¨Á¢¿Í»§Ó¦ÓóÌÐòºÍ·þÎñÆ÷Ó¦ÓóÌÐò¡£
¡¡¡¡ÔÚ´´½¨¿Í»§Ó¦ÓóÌÐòʱ£¬±ØÐëÖªµÀ·þÎñÆ÷¼ÆËã»úÃû»òÆäIPµØÖ·(´æÓÚRemoteHostÊôÐÔ)¡¢¼°·þÎñÆ÷¼ÆËã»ú½øÐÐÕìÌýµÄ¶Ë¿Ú(´æÓÚRemotePortÊôÐÔ£©£¬È»ºóµ÷ÓÃConnect·½·¨¡£
¡¡¡¡´´½¨·þÎñÆ÷Ó¦ÓóÌÐòʱ£¬¾ÍÓ¦ÏàÓ¦ÉèÖÃÒ»¸öÕìÌý¶Ë¿Ú(LocalPortÊôÐÔ)²¢µ÷ÓÃlisten·½·¨¡£µ±¿Í»§»úÐèÒªÁ¬½Óʱ(connect)£¬¾Í»á·¢ÉúConnectionRequestʼþ¡£ÎªÁËÍê³ÉÁ¬½Ó£¬Äã¿ÉÒÔÔÚConnectionRequestʼþÖе÷ÓÃAccept·½·¨¡£½¨Á¢Á¬½Óºó£¬ÈκÎÒ»·½¼ÆËã»ú¶¼¿ÉÒÔ·¢ËÍ¡¢½ÓÊÕ¶Ô·½Êý¾Ý¡£Èç¹ûÄãÒª·¢ËÍÊý¾Ý£¬Ðèµ÷ÓÃSendData·½·¨¡£µ±½ÓÊÕµ½Êý¾Ýʱ£¬»á·¢ÉúDataArrivalʼþ£¬µ÷ÓÃDataArrivalʼþÖеÄGetData·½·¨¾Í¿ÉÒÔ»ñµÃ¶Ô·½´«Ë͵ÄÊý¾Ý¡£
¡¡¡¡ËµÁËÕâô¶à£¬´ó¼Ò¿ÉÄÜ»¹ÊDz»Ì«Á˽⣬ÈÃÎÒÓóÌÐòÀ´Ïêϸ˵Ã÷¡£
¡¡¡¡Èç¹ûÖ»ÓÐÁ½Ì¨¼ÆËã»ú£¬ÄÇÊ®·ÖÈÝÒס£¼ÙÉè¼×»úΪ¿Í»§»ú£¬ÒÒ»úΪ·þÎñÆ÷£¬ÇÒÆäIPΪ192.192.192.1£¬½ÓÊÕ¶Ë¿ÚΪ1200(ÈÎÒâѡһ¸öδ±»Ê¹ÓõĶ˿ڼ´¿É)¡£Ê×ÏÈÔÚ¼×»ú¿Í»§¶Ë³ÌÐòÖмÓÈëÒ»¸öWinsock¿Ø¼þ£¬ÆðÃûΪsckconnect£¬²¢ÉèÖÃÆäÊôÐÔ£ºRemoteHost=¡°192.192.192.1¡±£¬£¨¼´¼×»úIPµØÖ·£©£¬ RemotePort=1200£¨¼´¼×»úÕìÌý¶Ë¿Ú£©£»ÔÙÔÚÒÒ»ú·þÎñÆ÷³ÌÐòÖмÙÈçÒ»¸öÃûΪsckserver(0)µÄWinsock¿Ø¼þ£¬ÆäLocalPort=1200£¬ÔÚÒÒ»ú·þÎñÆ÷³ÌÐòÖÐForm_Load()¼ÓÈë
¡¡¡¡sckserver(0).bind sckserver(0).LocalPort 'Óë±¾µØ¶Ë¿Ú°ó¶¨
¡¡¡¡sckserver(0).listern ' ÕìÌý
¡¡¡¡Èç¹ûÒª´«ÊäÊý¾Ý£¬Á½»ú±ØÐëÏȽ¨Á¢Á¬½Ó¡£½¨Á¢Á¬½ÓµÄ³ÌÐòÈçÏ£º
¡¡¡¡¼×»ú¿Í»§»úÒªÏÈÇëÇóÁ¬½Ó
¡¡¡¡sckconnect.connect sckconnect.RemoteHost, sckconnect.RemotePort
¡¡¡¡´Ë¾äÖ´ÐÐʱ»á´¥·¢·þÎñÆ÷³ÌÐòÖеÄConnectRequestʼþ£¬Ôڴ˹ý³ÌÖоö¶¨ÊÇ·ñ½¨Á¢Á¬½Ó£¬Æä´úÂëÈçÏ£º
Private sub sckserver_connectionrequest(index as Integer,Byval requestid as long) if sckserver.count=1 then load sckserver(1) sckserver(1).accept requestId end if end sub
¡¡¡¡Á¬½Ó½¨Á¢ºÃÒԺ󣬼׻ú»òÒÒ»ú¶¼¿ÉÒÔÓ¦ÓÃSendData·½·¨À´´«ËÍÊý¾Ý¡£ÀýÈ磬Èç¹ûÊǼ׻úÒª´«ËÍÒ»¸ö½ÐstringµÄ×Ö·û´®£¬Ö»ÐèÔÚ´úÂëÖмÓÈ룺
¡¡¡¡sckconnect.SendData string
¡¡¡¡¼×»ú´«ËÍÊý¾Ýºó£¬»á´¥·¢ÒÒ»úµÄDataArrivalʼþ£¬ÔÚÆä¹ý³ÌÖÐÓÃGetData·½·¨¿ÉÒÔÊÕµ½´«Ë͵ÄÊý¾Ý£º
Private sub sckserver_DataArrival(Index as integer,Byval BytesTotal as long) dim sdata as string sckserver(1).GetData sdata,vbstring end sub
¡¡¡¡×îºó±ðÍüÁËÔڹرճÌÐòǰҪÏȹرÕWinsock¿Ø¼þ
privat sub form_unload(cancel as integer) if sckconnect.state <>sckclosed then sckconnect.close end if end sub
¡¡¡¡ÕâÖ»ÊÇ×î¼òµ¥µÄÇé¿ö£¬Èç¹ûÓжą̀¼ÆËã»ú£¬ÄǾÍÉÔ΢¸´ÔÓһЩ£¬¿Í»§¶Ë³ÌÐò¿ÉÒÔ²»×ö¸Ä¶¯£¬¶ø·þÎñÆ÷¶Ë³ÌÐòÐèÒªÂÔ×ö¸Ä¶¯£º
Private sub sckserver_connectrequest(Index as Integer,Byval requestid as long) dim sip as string dim I as integer sip=sckserver(0).RemoteHostIP '»ñµÃµÇ¼ÕßµÄIPµØÖ· I=1 Do while I<=sckserver.ubound '¼ì²éÊÇ·ñÒѾÓиõØÖ·µÄ¼Ç¼ If sckserver(I).RemoteHostIP=sip then 'ÈçÓУ¬²»±Ø¼ÓÔØÐµĿؼþ Sckserver(I).Accept requestid Exit sub End if I=I+1 Loop Load sckserver(I) '·ñÔò£¬¼ÓÔØÐµĿؼþ Scksrver(I).accept requestID End sub
¡¡¡¡×¢Òâµ½£ºÒÔÉϵÄÐÅÏ¢½»Ì¸Êµ¼ÊÉ϶¼·¢ÉúÔÚ¿Í»§»úÓë·þÎñÆ÷Ö®¼ä£¬Èç¹ûÒª×ö³ÉÁÄÌìÊÒÄÇÑù£¬Ã¿¸öÈ˵ϰ¶¼¿ÉÒÔ±»±ðÈË¡°Ìýµ½¡±£¬ÄǾÍÒªÔÚ·þÎñÆ÷¶ËµÄDataArrivalʼþÖУ¬°Ñ½ÓÊÕµ½µÄ¿Í»§»ú´«À´µÄÊý¾Ý£¬×ª·¢¸øËùÓпͻ§»ú¼´¿É¡£
¡¡¡¡ÆäÑ»·×ª·¢ÐÅÏ¢µÄ´úÂëÈçÏ£º
For I=1 to sckserver.count if sckserver(I).state<>sckclosed then sckserver(I).SendData sdata end if next I
¡¡¡¡ÔõôÑù£¬ÕâÑùÎÒÃǾÍ×÷ºÃÁË×Ô¼ºµÄͨÐÅÈí¼þ£¡
²»¹ý£¬²»Öª´ó¼Ò×¢Ò⵽ûÓУ¬ÉÏÊö³ÌÐò¶¼ÐèÒªÓÐһ̨¼ÆËã»ú×öΪ·þÎñÆ÷£¬µ«Èç¹ûÎÒÃǵľÖÓòÍøÖÐûÓÐÄĄ̈¼ÆËã»úÊÇ¿ÉÒÔ³£¿ªµÄ£¬Ò²¾ÍÊÇ˵£¬Èç¹û·þÎñÆ÷¶Ë³ÌÐòûÓÐÔËÐеϰ£¬ÆäËû¿Í»§¶Ë³ÌÐòҲûÓа취ͨÐÅ¡£¶øÕâÖÖÇé¿öÈ´¿ÉÄÜÊǾ³£³öÏÖµÄ!ÖÁÉÙ£¬ÎÒËùÓõľÖÓòÍøÄǾÍÊÇÕâÑùµÄ¡£ÄѵÀÕâÑùÎÒÃǾÍÎÞ·¨ÏíÊܾÖÓòÍøÍ¨ÐŵÄÀÖȤÁËÂð£¿
¡¡¡¡²»Òª¼±£¬¼ÇµÃÂð£¬ÎÒÃǵÄWinsock¿Ø¼þ»¹ÓÐÁíÒ»¸öÖ÷½Ç£ºUDPÐÒé¡£
¡¡¡¡UDPÐÒéÒ²³ÆÎªÓû§Êý¾Ý±¨ÎÄÐÒ飬ÊÇÒ»¸öÎÞÁ¬½ÓÐÒé¡£ºÎνÎÞÁ¬½ÓÐÒ飿¾ÍÊÇ˵ÀûÓôËÐÒéÁ¬½Óʱ£¬²»±ØÏóTCPÐÒéÄÇÑù£ºÐèÒª·þÎñÆ÷¶ËÕìÌý£¬¿Í»§»ú¶ËÇëÇóÁ¬½Ó£¬·þÎñÆ÷¶Ë½¨Á¢Á¬½ÓºóË«·½²ÅÄÜͨÐÅ¡£ÁíÍ⣬UDPÓ¦ÓóÌÐò¿ÉÒÔÊǿͻ§»ú£¬Ò²¿ÉÒÔÊÇ·þÎñÆ÷³ÌÐò£¬¶ø²»±ØÏòTCPÓ¦ÓóÌÐòÄÇÑù±ØÐë·Ö±ð½¨Á¢¿Í»§»ú³ÌÐòºÍ·þÎñÆ÷³ÌÐò¡£
¡¡¡¡ÏÂÃæ£¬À´¼òÊöÒ»ÏÂUDPÐÒéͨÐŵĹý³Ì£ºUDPÐÒéÖУ¬ÎªÁËÔÚ¼×ÒÒÁ½»úÖд«ÊäÊý¾Ý£¬±ØÐëÏÈ·Ö±ðÉèÖÃÁ½»úµÄLocalPortÊôÐÔ£»ÔÙ½«¼×»úµÄRemoteHostÊôÐÔÉèÖÃΪÒÒ»úµÄIPµØÖ·£¬RemotePortÊôÐÔÉèÖÃΪÒÒ»úµÄLocalPortÊôÐÔÖµ£¬´Ëʱ¼×»úµ÷ÓÃSendData·½·¨¾Í¿ÉÒÔ´«ËÍÊý¾ÝÁË£¬ÒÒ»úͬÑùʹÓÃDataArrivalʼþÖеÄGetData·½·¨À´»ñÈ¡¼×»ú·¢Ë͸øÒÒ»úµÄÐÅÏ¢¡£ÈçÏëÒÒ»úÏò¼×»ú´«ËÍÊý¾Ý£¬Ö»Ðè·ÂÕÕÉÏÃæµÄ¹ý³ÌÉèÖü´¿É¡£
¡¡¡¡ÓÃUDPÐÒéÀ´´«ÊäÐÅÏ¢½ÏTCPÐÒéÀ´Ëµ¼òµ¥µÄ¶à£¬ËüÎÞÐëÕìÌý£¨LISTEN£©£¬Ò²ÎÞÐëÇëÇóÁ¬½Ó£¨CONNECT£©£¬¾ÍÏóÎÒÃÇÆ½Ê±·¢ÐÅÒ»Ñù£¬Ö»ÒªÐ´ºÃµØÖ·¼°ÊÕÐÅÈËÐÕÃû²¢·¢ËͳöÈ¥¼´¿É¡£ÎÒÃÇ¿ÉÒÔ½è´ËÀ´±àдһ¸ö¾ÖÓòÍøÖеÄÐÅÏ¢´«ËͳÌÐò£¬ÏÂÃæÀ´¼òµ¥½éÉÜÒÔϳÌÐòÖÐÏëʵÏֵŦÄܼ°Æä»ù±¾Ë¼Ï룺
¡¡¡¡Ê×ÏÈ£¬ÎÒÃÇÒ»¶¨ÏëÈóÌÐòµÄͼ±êÏÔʾÔÚsystem trayÖжø²»ÏÔʾÔÚÈÎÎñÀ¸Öаɣ¡ÕâÒªÊÇ×Ô¼º±à³ÌʵÏֿɲ»ÊÇÌ«ÈÝÒ×£¬ÐÒºÃVB¹âÅÌÖÐÔÚcommon\tools\vb\unsupport\systemTray ÖÐÓÐÒ»¸öÏֳɵijÌÐò£¬ÎÒÃÇÖ»Òª°ÑËü±àÒë³Ésystray.ocx ¿Ø¼þ£¬È»ºóÔÚ±àд×Ô¼ºµÄ³ÌÐòʱÌí¼Ó´Ë¿Ø¼þ¼´¿É¡£ÆäʹÓ÷½·¨Ê®·Ö¼òµ¥£¬ËüÒѾ¶¨ÒåºÃÁËÊó±êµ¥»÷¡¢Ë«»÷µÈʼþ£¬ÄãÖ»Ðè±àдÏàÓ¦µÄÊó±êʼþ¼´¿É£¬ÕâÀï²»ÔÙ¶à˵¡£
¡¡¡¡³ÌÐòµÄ¹Ø¼üÊÇ£ºUDPÐÒéÔÚͨѶʱҪ֪µÀ¶Ô·½µÄIPºÍPort£¬ÕâÒªÈçºÎʵÏÖÄØ£¿×î¼òµ¥µÄ·½·¨Êǽ¨Á¢Ò»¸öÅäÖÃÎļþ£¬ÀïÃæ·ÅÖÃÁ˾ÖÓòÍøÉÏÿ̨¼ÆËã»úµÄÃû×Ö¡¢IPºÍPort£¬ÔÚ³ÌÐò³õʼ»¯Ê±¶Á³öËùÓÐÐÅÏ¢£¬ÔÚ³ÌÐòÖÐÖ»ÒªÖªµÀÏòËͨÐÅ£¬¶Á³öÆä¶ÔÓ¦µÄIPºÍPort¼´¿É¡£
¡¡¡¡ÎÒÃÇÖªµÀÁËÿ̨¼ÆËã»úµÄIPºÍPort£¬µ«ÎÒÃÇÔõÑù²ÅÄÜÖªµÀÆäËü¼ÆËã»úÊÇ·ñÔÚÏßÄØ£¬·ñÔò·¢³öÐÅÏ¢±ðÈËÊÕ²»µ½Ôõô°ì£¿ÎÒÃÇ¿ÉÒ԰Ѵ˳ÌÐò·ÅÔÚÆô¶¯²Ëµ¥ÖУ¬ÈÃÆäÒ»¿ª»ú¾Í×Ô¶¯Æô¶¯£¬²¢×îС»¯£¬·ÅÓÚ´°¿ÚÓÒϽǵÄsystem trayÖС£ÔÚ³ÌÐò¸Õ¿ªÊ¼ÔËÐÐʱ£¬Ëü»á×Ô¶¯ÏòËü´ÓÅäÖÃÎļþÖÐËùÖªµÀµÄËùÓÐIP·¢Ò»ÌõÐÅÏ¢£º¡°ÎÒÀ´ÁË£¡¡±£¬Èç¹ûÓмÆËã»úÔÚÏߣ¬Ëü»á×Ô¶¯·µ»ØÒ»ÌõÐÅÏ¢£º¡°»¶Ó£¡¡±£¬Èç´ËÔòÁ½»úͨÐųɹ¦£¬ËüÃÇ»á·Ö±ð°Ñ¶Ô·½µÄÃû×Ö¼ÓÈëµ½×Ô¼ºµÄ¿ÉͨÐÅÈËÃûµ¥ÖÐÈ¥£»Èç¹ûÓмÆËã»ú¹Ø»ú£¬³ÌÐòÔÚÍ˳ö֮ǰ»á×Ô¶¯ÏòËùÓÐÈ˸æ±ð£º¡°ÔÙ¼û£¡¡±£¬½ÓÊÕµ½´ËÐÅÏ¢µÄ¼ÆËã»ú»á×Ô¶¯°Ñ·¢ËÍÐÅÏ¢µÄ¼ÆËã»úµÄÃû³Æ´Ó×Ô¼ºµÄ¿ÉͨÐÅÈËÃûµ¥ÖÐÈ¥³ý¡£ÕâÑù£¬Èç¹ûijÈ˲»ÔÚÏߣ¬Ä㽫ÎÞ·¨·¢ËÍÐÅÏ¢¸øËü£»Èç¹û³ýÁËÄãÒÔÍ⣬ÆäËûÈ˶¼Ã»Óпª»ú£¬ÄÇÄãµÄ¿É·¢ËÍÈËÃûµ¥Öн«Ã»ÓÐÈκÎÈË¡£¶øÆäËüÈËÖ»ÒªÒ»ÉÏÏߣ¬»á×Ô¶¯È¥ÄãÄÇÀï¡°µÇ¼Ç¡±£¬ÆäËûÈËÖ»ÒªÒ»ÀëÏߣ¬»á×Ô¶¯È¥ÄãÄÇÀï¡°¸æ±ð¡±£¬Äã¿ÉÒԾݴËÖªµÀËûÈËÊÇ·ñÕýÔÚʹÓüÆËã»ú£¬ÄãÉõÖÁ¿ÉÒÔÒԴ˳ÌÐòÀ´Í³¼ÆËûÈ˵ÄÿÌìÉÏ»úʱ¼ä£¬²»´í°É£¡
¡¡¡¡ºÃÁË£¬Ò»¸ö¾ÖÓòÍøÍ¨ÐŵijÌÐòµÄ»ù±¾Ä£ÐÍÒѾÓÐÁË£¬²¢²»¸´ÔÓ°É£¡´ó¼Ò¸Ï¿ì¶¯ÊÖ°É£¬À´ÏíÊÜÓÃ×Ô¼ºµÄ³ÌÐòÀ´ÁÄÌìµÄÀÖȤ£¡
¡¡¡¡²»¹ý£¬ÒªÏë±àдһ¸ö³öÉ«µÄ³ÌÐò£¬²»¹âÊÇÒªÓÐÁ¼ºÃµÄ´´ÒâÓ빦ÄÜ£¬¸üÖØÒªµÄÊdzÌÐòµÄ¼æÈÝÐÔÓëÈÝ´íÐÔ¡£±¾ÀýÖУ¬¶Ô´íÎó´¦ÀíûÓÐ×öÏêϸµÄ½âÊÍ£¬¹ØÓÚÕâÒ»µã£¬´ó¼Ò¿ÉÒÔÔÚWinsock¿Ø¼þµÄerrorʼþ¼°Æä°ïÖúÖÐÕÒµ½ÂúÒâµÄ´ð°¸¡£
¡¡¡¡ÁíÍ⣬»¹¿ÉÒÔ´ÓÒÔϼ¸·½ÃæÀ´¿¼Âǹ¦ÄܵÄÀ©³ä£ºÈç´«ËÍͼÐΡ¢ÉùÒôµÈ¶àýÌåÐÅÏ¢¡¢¾ÖÓòÍø»¥´«Îļþ£¨Ö÷¶¯´«ËÍ£©¡¢Àúʷͨ»°¼Ç¼¡¢ÏµÍ³ÈÕÖ¾¡¢¸öÈËÉÏ»úʱ¼äͳ¼ÆµÈµÈ£¬¶øËùÓеÄÕâÒ»Çнö½öÈ¡¾öÓÚÄãµÄÏëÏóÁ¦ÓëÄãµÄ´ÏÃ÷²ÅÖÇ£¡ÏÂÃæ£¬±ÊÕßÒÔ´«ËÍÎļþΪÀýÀ´½²Ò»½²Æä¹¦ÄÜʵÏֵĴúÂë¡£
¡¡¡¡Äã¿ÉÒ԰ѱ¾µØµÄÎļþ£¨Í¼ÐΡ¢ÉùÒôµÈ¿ÉÒÔÏÈ´æ³ÉÁÙʱÎļþ£©ÒÔ¶þ½øÖÆÎļþµÄ·½Ê½À´´ò¿ªËü£¬½«ÆäÄÚÈÝÈ«²¿¶ÁÈëÒ»¸öbyteÀàÐ͵ÄÊý×éÖУ¬±¾µØ»ú´úÂëÈçÏ£º
dim myfile () as byte dim position as long open "filename" for binary as #1 position=0 do while not eof(1) position=positon+1 redim preserve myfile (1 to position) get #1,,myfile(position) loop close #1
¡¡¡¡ÔÙÏòÔ¶³Ì»ú´«ËÍÕâ¸ö×Ö½ÚÊý×é
¡¡¡¡sckserver.SendData myfile
¡¡¡¡Ô¶³Ì»úÊÕµ½Õâ¸öÊý×éÖ®ºó£¬ÔÙÒÔ¶þ½øÖÆÎļþµÄ·½Ê½´ò¿ªÒ»¸öÐÂÄ¿±êÎļþ£¬½«Êý×éÄÚÈÝдÈëÕâ¸öдò¿ªµÄÎļþ£¬Èç¹ûÊÇbmpͼƬ¾Í½«Æä·ÅÈëpictureͼƬ¿òÖУ¬Èç¹ûÊÇwavÎļþ£¬¾Í²¥·Å¡£ÕâÑù£¬¾ÖÓòÍøÖеÄÁ½¸öÈ˾ͿÉÒÔͨ¹ýÓïÑÔ¡¢Í¼Æ¬¡¢ÎÄ×ÖÀ´½»Á÷ÁË¡£
¡¡¡¡Ô¶³Ì»ú´úÂëÈçÏ£º
Private sub sckconnect_DataArrival(byval bytestotal as long) dim receivefile(1 to bytestotal)as byte sckconnect.GetData receivefile,vbarray+vbbyte '¸æËßWinsock¿Ø¼þÊÕµ½µÄÊÇ×Ö½ÚÊý×éÀàÐ͵ÄÊý¾Ý open "c:\temp\ÎļþÃû" for binary as #1 for I=1 to bytestotal put #1,,remotearray(I) next I clost #1 end sub
|