ÁÉ­}ºô > IT§Þ³N Linux > ³Ì·s§ó·s
  IT¸ê°T·j¯Á
 
IT²£«~·j¯Á
[µ{¦¡¶}µo][ºôºÞ¥@¬É][ºô¸ô¦w¥þ][¼Æ¾Ú®w§Þ³N]
[§@·~¨t²Î][¹Å»«²á¤Ñ¡P½u¤W³X½Í][¬¡°Ê¶°ÀA]
[ºë±m±MÃD][Symantec±M°Ï][­q¾\IT§Þ³N¶g¥Z]
[¶}µo½×¾Â][ºôºÞ½×¾Â][¦w¥þ½×¾Â][¼Æ¾Ú®w½×¾Â]
[§@·~¨t²Î½×¾Â][Sybase±M°Ï][IBM dW§Þ³N±M°Ï]
[¯f¬r¨D§U][¯f¬r»Pº|¬}¼½³ø][¤åÀÉ¡P·½½X¤U¸ü]

¤º®Ö§Þ³N:TCP/IP½sµ{¹ê²{»·µ{¤å¥ó¶Ç¿é

µo§G®É¶¡¡G2006.06.16 07:05     ¨Ó·½¡Gchinaunix    §@ªÌ¡Gxzh2002

TCP/IP½sµ{¹ê²{»·µ{¤å¥ó¶Ç¿é

¦bTCP/IPºô¸ôµ²ºc¤¤¡A¬°¤F«OÃÒºô¸ô¦w¥þ¡Aºô¸ô¤H­û©¹©¹»Ý­n¦b¸ô¥Ñ¾¹¤W²K¥[¨¾¤õÀð¡A¸T¤î«Dªk¥Î¤á¥Îftpµ¥¦w¥þ¦M®`¸û¤jªºTCP/IP¨óij³X°Ý¥D¾÷¡C¦Ó¦³®É¨t²ÎºûÅ@¤H­û»Ý­n¥Îftp±N¤@¨Ç¤å¥ó±q¤¤¤ß¾÷©Ð¥D¾÷¶Ç¨ì«eºÝºôÂI¥D¾÷¤W¡A¤ñ¦pÀ³¥Îµ{¦¡ªº´À´«¤É¯Å¡C¦pªG¨C¦¸¶Ç¿é¤å¥ó®É³£­n¥´¶}¨¾¤õÀð¡A¥¼§KÅã±o¦³¨ÇÁcº¾¡A­n¬O¦b¦Û¤vªºÀ³¥Îµ{¦¡¤¤¼W¥[¤@­Ó±Mªùªº¤å¥ó¶Ç¿é¼Ò²Õ¡A¨º±N¬O¤Q¤À´r§Öªº¨Æ±¡¡C

¡@¡@UNIXºô¸ôµ{¦¡³]­p¤@¯ë³£±Ä¥Î®M±µ¦r(socket)¨t²Î½Õ¥Î¡C°w¹ï¥Ø«e¤Q¤À¬y¦æªº«È¤á/¦øªA¾¹¼Ò¦¡¡A¨äµ{¦¡½s¼g¨BÆJ¦p¤U¡G

¡@¡@1.Socket¨t²Î½Õ¥Î

¡@¡@¬°¤F¶i¦æºô¸ôI/O¡A¦øªA¾¹©M«È¤á¾÷¨âºÝªºUNIX¶iµ{­n°µªº²Ä¤@¥ó¨Æ¬O½Õ¥Îsocket()¨t²Î½Õ¥Î¡A«Ø¥ß³n´¡®y¡A«ü©ú¦X¾Aªº³q°T¨óij¡C®æ¦¡¬°¡G

¡@¡@¡­include;

¡@¡@¡­include;

¡@¡@int socket(int family,int type,int protocol)

¡@¡@¨ä¤¤¡G(1)family«ü©ú®M¸`¦r±Ú¡A¨ä­È¥]¬A¡G

¡@¡@AF_UNIX¡@¡@ (UNIX¤º³¡¨óij±Ú)

¡@¡@AF_INET¡@¡@ (Iternet¨óij)

¡@¡@AF_NS (XeroxNs¨óij¡ATCP/IP½sµ{¨ú¸Ó­È)

¡@¡@AF_IMPLINK¡@ (IMPÃìµ²¼h)

¡@¡@(2)type «ü©ú®M±µ¦rÃþ«¬¡A¨ú­È¦³¡G

¡@¡@SOCK_STREAM ¡@¡@¡@¡@(¬y®M±µ¦r)

¡@¡@SOCK_DGRAM ¡@¡@¡@¡@(¼Æ¾Ú³ø®M±µ¦r)

¡@¡@SOCK_RAW¡@ ¡@¡@¡@¡@(­ì©l®M±µ¦r)

¡@¡@SOCK_SEQPACKET¡@¡@ (©w§Ç¤À²Õ®M±µ¦r)

¡@¡@¤@¯ë±¡ªp¤U¡A«e¨â­Ó°Ñ¼Æªº²Õ¦X´N¥i¥H¨M©w©Ò¨Ï¥Îªº¨óij¡A³o®É²Ä¤T­Ó°Ñ¼Æ³Q¸m¬°0¡A¦pªG²Ä¤@­Ó°Ñ¼Æ¬°AF_INET¡A²Ä¤G­Ó°Ñ¼Æ¿ïSOCK_STREAM¡A«h¨Ï¥Îªº¨óij¬°TCP¡F²Ä¤G­Ó°Ñ¼Æ¿ïSOCK_DGRAM¡A«h¨Ï¥Îªº¨óij¬°UDP¡F·í²Ä¤G­Ó°Ñ¼Æ¿ïSOCK_RAW®É¡A¨Ï¥Îªº¨óij¬°IP¡C­È±o«ü¥Xªº¬O¨Ã¤£¬O©Ò¦³ªº±Ú©MÃþ«¬ªº²Õ¦X³£¬O¦Xªkªº¡A¨ãÅé½Ð¬d¾\¬ÛÃö¸ê®Æ¡C¸Ó¨t²Î½Õ¥Î­Y¦¨¥\«hªð¦^¤@­ÓÃþ¦ü¤å¥ó´y­z²Å¡A¦¨¬°®M¸`¦r´y­z¦r¡A¥i¥H¹³¤å¥ó´y­z²Å¨º¼Ë¥Îread©Mwrite¹ï¨ä¶i¦æI/O¾Þ§@¡C·í¤@­Ó¶iµ{¨Ï¥Î§¹¸Ó³n´¡®y®É¡A»Ý¥Îclose(<´y­z²Å>Ãö³¬(¨ãÅ騣«á­±¤º®e)¡C

¡@¡@2.¦øªA¾¹ºÝBind¨t²Î½Õ¥Î

¡@¡@³n´¡®y³Ð«Ø®É¨Ã¨S¦³»P¥ô¦ó¦a§}¬ÛÃöÁp¡A¥²¶·¥Îbind()¨t²Î½Õ¥Î¬°¨ä«Ø¥ß¦a§}Ápô¡C¨ä®æ¦¡¬°¡G

¡@¡@¡­include;

¡@¡@¡­include;

¡@¡@int bind(int socketfd,struct sockaddr_in ¡¯localaddr,sizeof(localaddr));

¡@¡@¨ä¤¤¡G(1)²Ä¤@­Ó°Ñ¼Æsocketfd¬O«e¨Bsocket()¨t²Î½Õ¥Îªð¦^ªº®M¸`¦r´y­z²Å¡C

¡@¡@(2)²Ä¤G­Ó°Ñ¼Æ³Q®¹¦V¥»¦a¦a§}ªº¤@ºØµ²ºc¡A¸Óµ²ºc¦bsys/netinet/in.h¤¤©w¸q¡G

¡@¡@struct sockaddr_in{

¡@¡@¡@short sin_family;/¡¯socket()¨t²Î½Õ¥Îªº¨óij±Ú¦pAF_INET¡¯/

¡@¡@¡@u_short sin_port;/¡¯ºô¸ô¦r¸`¦¸§Ç§Î¦¡ªººÝ¤f¸¹½X¡¯/

¡@¡@¡@struct in_addr sin_addr;/¡¯ºô¸ô¦r¸`¦¸§Ç§Î¦¡ªººô¸ô¦a§}¡¯/

¡@¡@¡@char sin_zero[8];

¡@¡@}

¡@¡@¤@¥x¾÷¾¹¤Wªº¨C­Óºô¸ôµ{¦¡¨Ï¥Î¤@­Ó¦U¦Û¿W¥ßªººÝ¤f¸¹½X¡A¨Ò¦p¡Gtelnetµ{¦¡¨Ï¥ÎºÝ¤f¸¹23¡A¦Óftp¤å¥ó¶Ç¿éµ{¦¡¨Ï¥ÎºÝ¤f¸¹21¡C§Ú­Ì¦b³]­pÀ³¥Îµ{¦¡®É¡AºÝ¤f¸¹½X¥i¥H¥Ñgetservbyname()¨ç¼Æ±q/etc/services®w¤å¥ó¤¤Àò¨ú¡A¤]¥i¥H¥Ñhtons (int portnum)¨ç¼Æ±N¥ô·N¥¿¾ã¼ÆÂà´«¬°ºô¸ô¦r¸`¦¸§Ç§Î¦¡¨Ó±o¨ì¡A¦³¨Çª©¥»ªºUNIX§@·~¨t²Î«h³W©w1024¥H¤UªººÝ¤f¸¹½X¥u¥i³Q¶W¯Å¥Î¤á¨Ï¥Î¡A´¶³q¥Î¤áµ{¦¡¨Ï¥ÎªººÝ¤f¸¹½X¥u­­¤_1025¨ì32767¤§¶¡¡Cºô¸ô¦a§}¥i¥H¥Ñgethostbyname(char¡¯hostname)¨ç¼Æ±o¨ì(¸Ó¨ç¼Æ©Mgetservbyname()¤@¼Ë³£¥Hºô¸ô¦r¸`¦¸§Ç§Î¦¡ªð¦^©Ò¦³¦b¥L­Ìµ²ºc¤¤ªº¼Æ¾Ú)¡A°Ñ¼Æhostname¬°/etc/hosts¤å¥ó¤¤¬Y¤@ºô¸ô¦a§}©Ò¹ïÀ³ªº¾÷¾¹¦W¡C¸Ó¨ç¼Æªð¦^¤@­ÓÃþ«¬¬°hostentªºµ²ºc«ü°w¡Ahostentµ²ºc¦bnetdb.h¤¤©w¸q¡G

¡@¡@struct hostent{

¡@¡@ char ¡¯h_name;

¡@¡@ char ¡¯¡¯h_aliases;

¡@¡@ int h_addrtype;

¡@¡@ int h_length;¡@¡@/¡¯¦a§}ªø«×¡¯/

¡@¡@ char ¡¯¡¯h_addr_list;

¡@¡@ ¡­define h_addr h_addr_list[0];/¡¯¦a§}¡¯/

¡@¡@}

¡@¡@(3)²Ä¤T­Ó°Ñ¼Æ¬°²Ä¤G­Óµ²ºc°Ñ¼Æªºªø«×¡A¦pªG½Õ¥Î¦¨¥\¡Abindªð¦^0¡A§_«h±Nªð¦^¡Ð1¨Ã³]¸merrno¡C

¡@¡@3.¦øªA¾¹ºÝ¨t²Î½Õ¥Îlisten¡A¨Ï¦øªA¾¹Ä@·N±µ¨ü³s±µ

¡@¡@®æ¦¡¡Gint listen(int socketfd,int backlong)

¡@¡@¥¦³q±`¦bsocket©Mbind½Õ¥Î«á¦baccept½Õ¥Î«e°õ¦æ¡C²Ä¤G­Ó°Ñ¼Æ«ü©ú¦bµ¥«Ý¦øªA¾¹°õ¦æaccept½Õ¥Î®É¨t²Î¥i¥H±Æ¶¤¦h¤Ö­Ó³s±µ­n¨D¡C¦¹°Ñ¼Æ±`«ü©w¬°5¡A¤]¬O¥Ø«e¤¹³\ªº³Ì¤j­È¡C

¡@¡@4.¦øªA¾¹½Õ¥Îaccept,¥Hµ¥«Ý«È¤á¾÷½Õ¥Îconnect¶i¦æ³s±µ¡C®æ¦¡¦p¤U¡G

¡@¡@int newsocket=(int socketfd,struct sockaddr_in ¡¯peer,int¡¯addrlen);

¡@¡@¸Ó½Õ¥Î¨ú±o¶¤¦C¤Wªº²Ä¤@­Ó³s±µ½Ð¨D¨Ã«Ø¥ß¤@­Ó¨ã¦³»Psockfd¬Û¦P¯S©Êªº®M¸`¦r¡C¦pªG¨S¦³µ¥«Ýªº³s±µ½Ð¨D¡A¦¹½Õ¥Îªý¶ë½Õ¥ÎªÌª½¨ì¤@³s±µ½Ð¨D¨ì¹F¡C³s±µ¦¨¥\«á¡A¸Ó½Õ¥Î±N¥Î¹ïºÝªº¦a§}µ²ºc©M¦a§}ªø«×¶ñ¥R°Ñ¼Æpeer©Maddlen¡A¦pªG¹ï«È¤áºÝªº¦a§}¸ê°T¤£·P¿³½ì¡A³o¨â­Ó°Ñ¼Æ¥Î0¥N´À¡C

¡@¡@5.«È¤áºÝ½Õ¥Îconnect()»P¦øªA¾¹«Ø¥ß³s±µ¡C®æ¦¡¬°¡G

¡@¡@connect(int socketfd,struct sockaddr_in ¡¯servsddr,int addrlen)

¡@¡@«È¤áºÝ¨ú±o®M±µ¦r´y­z²Å«á¡A¥Î¸Ó½Õ¥Î«Ø¥ß»P¦øªA¾¹ªº³s±µ¡A°Ñ¼Æsocketfd¬°socket()¨t²Î½Õ¥Îªð¦^ªº®M¸`¦r´y­z²Å¡A²Ä¤G©M²Ä¤T­Ó°Ñ¼Æ¬O«ü¦V¥Øªº¦a§}ªºµ²ºc¤Î¥H¦r¸`­p¶qªº¥Øªº¦a§}ªºªø«×(³o¸Ì¥Øªº¦a§}À³¬°¦øªA¾¹¦a§})¡C½Õ¥Î¦¨¥\ªð¦^0¡A§_«h±Nªð¦^¡Ð1¨Ã³]¸merrno¡C

¡@¡@6.³q¹L³n´¡®yµo°e¼Æ¾Ú

¡@¡@¤@¥¹«Ø¥ß³s±µ¡A´N¥i¥H¥Î¨t²Î½Õ¥Îread©Mwrite¹³´¶³q¤å¥ó¨º¼Ë¦Vºô¸ô¤Wµo°e©M±µ¨ü¼Æ¾Ú¡CRead±µ¨ü¤T­Ó°Ñ¼Æ¡G¤@­Ó¬O®M¸`¦r´y­z²Å¡F¤@­Ó¬°¼Æ¾Ú±N³Q¶ñ¤Jªº½w½Ä°Ï¡AÁÙ¦³¤@­Ó¾ã¼Æ«ü©ú­nŪªº¦r¸`¼Æ¡A¥¦ªð¦^¹ê»ÚŪ¤Jªº¦r¸`¼Æ¡A¥X¿ù®Éªð¦^¡Ð1¡A¹J¨ì¤å¥ó§À«hªð¦^0¡CWrite¤]±µ¨ü¤T­Ó°Ñ¼Æ¡G¤@­Ó¬O®M¸`¦r´y­z²Å¡F¤@­Ó¬°«ü¦V»Ý­nµo°e¼Æ¾Úªº½w½Ä°Ï¡AÁÙ¦³¤@­Ó¾ã¼Æ«ü©ú­n¼g¤J¤å¥óªº¦r¸`­Ó¼Æ¡A¥¦ªð¦^¹ê»Ú¼g¤Jªº¦r¸`¼Æ¡A¥X¿ù®Éªð¦^¡Ð1¡C·íµM¡A¤]¥i¥H½Õ¥Îsend©Mrecv¨Ó¹ï®M¸`¦r¶i¦æÅª¼g¡A¨ä½Õ¥Î»P°ò¥»ªºread©Mwrite¨t²Î½Õ¥Î¬Û¦ü¡A¥u¬O¦h¤F¤@­Óµo°e¤è¦¡°Ñ¼Æ¡C

¡@¡@7.°h¥Xµ{¦¡®É¡AÀ³«ö¥¿±`¤è¦¡Ãö³¬®M¸`¦r¡C®æ¦¡¦p¤U¡G

¡@¡@int close(socketfd)

¡@¡@«e­±¤¶²Ð¤FUNIX«È¤á/¦øªA¾¹¼Ò¦¡ºô¸ô½sµ{ªº°ò¥»«ä¸ô©M¨BÆJ¡C­È±o«ü¥Xªº¬Osocket½sµ{©Ò¯A¤Îªº¨t²Î½Õ¥Î¤£ÄÝ©ó°ò¥»¨t²Î½Õ¥Î½d³ò¡A¨ä¨ç¼Æ­ì§Î¦blibsocket.a¤å¥ó¤¤¡A¦]¦¹¡A¦b¥Îcc©R¥O¹ï­ìµ{¦¡¶i¦æ½sĶ®É»Ý­n±a¡Ðlsocket¿ï¶µ¡C

¡@¡@²{¦b¡A§Ú­Ì¥i¥H°w¹ï¤å³¹¶}ÀY´£¥Xªº°ÝÃDµÛ¤â¶i¦æ½sµ{¤F¡C¦b¹Ï¥Üªººô¸ôµ²ºc¤¤¡A¬°¨Ï¤¤¤ß¾÷©Ðªº¦øªA¾¹¯à©MºôÂI¤Wªº«È¤á¾÷¶i¦æ³q«H¡A»Ý¦b¦øªA¾¹ºÝ²K¥[³q¹L¸ô¥Ñ¾¹1úP1úP1úP2¨ì«È¤á¾÷ªº¸ô¥Ñ¡A¨â¥x«È¤á¾÷¤]¥²¶·²K¥[³q¹L¸ô¥Ñ¾¹2úP2úP2úP1¨ì¦øªA¾¹ªº¸ô¥Ñ¡C¦b¦øªA¾¹ªº/etc/hosts¤å¥ó¤¤À³¸Ó¥]§t¤U­±¤º®e¡G

¡@¡@1.1.1.1¡@¡@server

¡@¡@2.2.2.2¡@¡@cli1

¡@¡@2.2.2.3¡@¡@cli2

¡@¡@«È¤á¾÷ªº/etc/hosts¤å¥ó¤¤À³¸Ó¦³¥»¾÷¦a§}¸ê°T©M¦øªA¾¹ªº¦a§}¸ê°T¡A¦pcli1«È¤á¾÷ªº/etc/hosts¤å¥ó¡G

¡@¡@2.2.2.2¡@¡@cli1

¡@¡@1.1.1.1¡@¡@server

¡@¡@ºô¸ôÀô¹Ò·f«Ø¦n«á¡A§Ú­Ì¥i¥H¦b¦øªA¾¹ºÝ½s¼gfwq.cµ{¦¡¡A­t³d±µ¨ü«È¤á¾÷ªº³s±µ½Ð¨D¡A¨Ã±N±q·½¤å¥ó¤¤Åª¨úªº¼Æ¾Úµo°e¨ì«È¤á¾÷¡C«È¤á¾÷µ{¦¡khj.c¦V¦øªA¾¹µo°e³s±µ½Ð¨D¡A±µ¦¬±q¦øªA¾¹ºÝµo¨Óªº¼Æ¾Ú¡A¨Ã±N±µ¦¬¨ìªº¼Æ¾Ú¼g¤J¥Ø¼Ð¤å¥ó¡C·½µ{¦¡¦p¤U¡G

/¡¯¦øªA¾¹·½µ{¦¡fwq.c¡¯/

¡­include;

¡­include;

¡­include;

¡­include;

¡­include;

¡­include;

¡­include;

main()

{

¡@¡@char c,buf[1024],file[30];

¡@¡@int fromlen,source;

¡@¡@register int k,s,ns;

¡@¡@struct sockaddr_in sin;

¡@¡@struct hostent ¡¯hp;

¡@¡@system(¡²clear¡²);

¡@¡@printf(¡²\n¡²);

¡@¡@

¡@¡@printf(¡²\n\n\t\t¿é¤J­n¶Ç¿éªº¤å¥ó¦W¡G¡²)¡F

¡@¡@scanf(¡²¢Hs¡²,file);

¡@¡@if ((source=open(file,O_RDONLY))<0){

¡@¡@¡@perror(¡²·½¤å¥ó¥´¶}¥X¿ù¡²)¡F

¡@¡@¡@exit(1);

¡@¡@}

¡@¡@printf(¡²\n\t\t¦b¶Ç°e¤å¥ó¡Aµy­Ô¡K¡²)¡F

¡@¡@hp=gethostbyname(¡²server¡²);

¡@¡@if (hp==NULL){

¡@¡@ perror(¡²ªð¦^¥D¾÷¦a§}¸ê°T¿ù!!!¡²)¡F

¡@¡@ exit(2);

¡@¡@}

¡@¡@s=socket(AF_INET,SOCK_STREAM,0);

¡@¡@if(s<0){

¡@¡@ perror(¡²Àò¨úSOCKET¸¹¥¢±Ñ!!!¡²)¡F

¡@¡@ exit(3);

¡@¡@}

¡@¡@sin.sin_family=AF_INET;

¡@¡@sin.sin_port=htons(1500);/¡¯¨Ï¥ÎºÝ¤f1500¡¯/

¡@¡@bcopy(hp¡Ð>;h_addr,¡®sin.sin_addr,hp¡Ð>;h_length);

¡@¡@if(bind(s,¡®sin,sizeof(sin))<0){

¡@¡@¡@perror(¡²¤£¯à±N¦øªA¾¹¦a§}®¹¸j¨ìSOCKET¸¹¤W!!!¡²)¡F

¡@¡@¡@colse(s);

¡@¡@¡@exit(4);

¡@¡@}

¡@¡@if(listen(s¡A5)<0{

¡@¡@¡@perror(¡²sever:listen¡²);

¡@¡@¡@exit(5);

¡@¡@}

while(1){

¡@¡@if((ns=accept(s,¡®sin,¡®fromlen))<0){

¡@¡@¡@perror(¡²sever:accept¡²)¡F

¡@¡@¡@exit(6);

¡@¡@}

¡@¡@lseek(source,OL,0);/¡¯¨C¦¸±µ¨ü«È¤á¾÷³s±µ¡AÀ³±N¥Î©óŪªº·½¤å¥ó«ü°w²¾¨ì¤å¥óÀY¡¯/

¡@¡@write(ns,file,sizeof(file))¡F /¡¯µo°e¤å¥ó¦W¡¯/

¡@¡@while((k=read(source,buf,sizeof(buf)))>;0)

¡@¡@ write(ns,buf,k);

¡@¡@printf(¡²\n\n\t\t¶Ç¿é§¹²¦!!!\n¡²);

¡@¡@close(ns);

}

¡@¡@close(source);

¡@¡@exit(0);

¡@¡@/¡¯«È¤á¾÷·½µ{¦¡khj.c¡¯/

¡@¡@¡­include;

¡@¡@¡­include;

¡@¡@¡­include;

¡@¡@¡­include;

¡@¡@¡­include;

¡@¡@¡­include;

¡@¡@¡­include;

¡@¡@¡­include ;

¡@¡@main()

¡@¡@{

¡@¡@¡@char buf[1024],file[30];

¡@¡@¡@char ¡¯strs=¡²\n\n\t\t¥¿¦b±µ¦¬¤å¥ó¡²¡F

¡@¡@¡@int target;

¡@¡@¡@register int k,s;

¡@¡@¡@struct sockaddr_in sin;

¡@¡@¡@struct hostent ¡¯hp;

¡@¡@¡@system(¡²clear¡²);

¡@¡@¡@printf(¡²\n¡²);

¡@¡@¡@

¡@¡@¡@hp=gethostbyname(¡²server¡²);

¡@¡@¡@if(hp==NULL){

¡@¡@¡@¡@¡@¡@¡@¡@¡@¡@perror(¡²ªð¦^¦øªA¾¹¦a§}¸ê°T¿ù!!!¡²)¡F

¡@¡@ ¡@exit(1);

¡@¡@¡@}

¡@¡@¡@s=socket(AF_INET¡ASOCK_STREAM,0);

¡@¡@¡@if(s<0){

¡@¡@¡@¡@perror(¡²Àò¨úSOCKET¸¹¥¢±Ñ!!!¡²)¡F

¡@¡@¡@¡@exit(2);

¡@¡@¡@}

¡@¡@¡@sin.sin_family=AF_INET;

¡@¡@¡@sin.sin_port=htons(1500);/¡¯ºÝ¤f¸¹»Ý»P¦øªA¾¹µ{¦¡¨Ï¥Îªº¤@­P¡¯/

¡@¡@¡@bcopy(hp¡Ð>;h_addr,¡®sin.sin_addr,hp¡Ð>;h_length);

¡@¡@¡@printf(¡²\n\n\t\t¥¿¦b»P¦øªA¾¹³s±µ¡K¡²)¡F

¡@¡@¡@if(connect(s,¡®sin,sizeof(sin),0)<0){

¡@¡@¡@¡@perror(¡²¤£¯à»P¦øªA¾¹³s±µ!!!¡²)¡F

¡@¡@¡@¡@exit(3);

¡@¡@¡@}

¡@¡@¡@while((k=read(s,file,sizeof(file)))<=0/¡¯±µ¦¬¤å¥ó¦W¡¯/

¡@¡@ if((target=open(file,o_WRONLY|O_CREAT|O_TRUNC,0644))<0){

¡@¡@¡@¡@perror(¡²¤£¯à¥´¶}¥Ø¼Ð¤å¥ó!!¡²)¡F

¡@¡@¡@¡@exit(4);

¡@¡@}

¡@¡@strcat(strs,file);

¡@¡@strcat(strs,¡²¡Aµy­Ô¡K¡²)¡F

¡@¡@write(1,strs,strlen(strs));

¡@¡@while((k=read(s,buf,sizeof(buf)))>;0)

¡@¡@¡@write(tatget,buf,k);

¡@¡@printf(¡²\n\n\t\t±µ¦¬¤å¥ó¦¨¥\!!!\n¡²);

¡@¡@close(s);

¡@¡@close(target);

¡@¡@}

¡@¡@¤W­zµ{¦¡¦bSco Unix System v3.2¤ÎSco TCP/IP RumtimeÀô¹Ò¤U½Õ¸Õ³q¹L¡C


[ µoªíµû½× ] ¦rÅé[ ¤j¡B¤¤¡B¤p ] [ ¦C¦L ] [ ¶i¤J³Õ«È ] [ ¶i¤J½×¾Â ]  [ ±ÀÂ˵¹ªB¤Í ]
  ¡i¬ÛÃö¤å³¹¡j
¡P Novell °ª¯Å¤uµ{®v³X½Í¥þµ{¹ê¿ý¡GSUSE ®à­±À³ (06-15) ¡P RPMªº¨Ï¥Î--¸Ô²Óºt¥Ü¦w¸Ë §R°£©M¬d¸ß (06-14)
¡P Unisys§ïÅÜ¥ø·~¾Ô²¤©w¦ì§ë¤J¶}·½Ãh©ê (06-14) ¡P Linux¦øªA¾¹±o±j´© ¹q¸£¨¾¬r·s§Þ³N (06-14)
¡P À¹º¸¸óLinuxªA°È»â°ì¦û¥ø·~¥«³õ 25% (06-14) ¡P Google Earth¥[¤JLinux¤ä´©¤Î§ó¦h¹Ï¹³ (06-14)
¡P ±MÃD¡GLinux§ð¨¾¤Î¦w¥þºÞ²z (06-13) ¡P Linux¤ñWindows§ó©ö³Q¥~¬P¤H¤J«I (06-13)
¡P Linux¨t²Î¤U¥Ñ½×¾Â¨ìSSHªº¤J«I¤ÀªR (06-13) ¡P ¯f¬r¤ÀªR¡G¤@­ÓLinux¨t²Î¯f¬rªº­ì«¬ (06-13)
  ¡i«È¤á»Ý¨D¤ÏõXªí¡j
* ©m¡@¡@¦W:
§ó¦h¸ê®Æ¡@ ¤F¸Ñ¤è®×¡@ »{ÃѼt°Ó
* ³æ¦ì¦WºÙ:
* Ápô¹q¸Ü:
* ¹q¤l¶l¥ó:
  ÁÉ­}±ÀÂË  
  ¤â¾÷¡P¸ê¶O ¡P·s«~¡P¾ÉÁÊ¡Pµû´ú¡P¤â¾÷¸ê¶O¡P¼e±a
¤â¾÷·j¯Á  ¿Õ°ò¨È N73 MOTO Z6
  IT²£«~ ¡Pµ§°O¥»¡P»O¦¡¾÷¡P¦øªA¾¹¡P¦C¦L¡P§ë¼v
IT²£«~·j¯Á 
  IT§Þ³N ¡P¶}µo¡PºôºÞ¡P¦w¥þ¡P¼Æ¾Ú®w¡P§@·~¨t²Î
  ¸ê°T¤Æ ¡P¼öÂI¡P±MÃD¡P³X½Í¡P¶g¥Z¡P¤è®×®×¨Ò
[¬F°È][¹q«H][ª÷¿Ä][¹A·~][»s³y·~][¤¤¤p¥ø·~]
[CIO][ERP][¨ó¦P][ITºÞ²z][¤¤¶¡¥ó][¹q¤l°Ó°È]
[¬Fµ¦][¦a¤è][±M®a][µû¦ô][Ãã¨å][³Õ«È][ªÀ°Ï]
¡P ±MÃD:¤@¸ôºZ³qºc·Q¦±¡X¡XÅý¥X¦æ¤£¦A¾D¹J°ô¨®
¡P CIO¤u§@¿Ë¾ú:¥ø·~ERP¿ï«¬¤£¯à©¿µø"¿ï¤HÃö"
¡P ºî­z¡G¸ê°T¤Æ«Ø³]µ¹¤¤°êºÊº»±a¨Óªº¦UºØÅܤÆ
¡P ª÷¿Ä·~­·ÀIºÞ²z©Mªk³W¿í±q¦³¤­ÂI»Ý¦Ò¼{ªº¦]¯À
¡P «OÀI·~CIOÃöª`:¸Ó¦p¦ó«Ø¥ß²Î¤@°ª®ÄªºCRMÅé¨t
¡P ½Õ¬dÅã¥Ü¡G¦h¼ÆCIO¹ïIT³W¹º¤´¦s¦b§x´b©M»~¸Ñ
  ³Õ«È¡P½×¾Â ¡P´¿¼C¬î¡P¶µ¥ß­è¡PJava¾Ç²ß¡PºôºÞ