ÁÉ­}ºô > IT§Þ³N Java > §Þ³N°ÊºA
  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¸ü]

Java¹ê¨Ò §Q¥ÎSocket¶i¦æºô¸ô½sµ{¸Ô¸Ñ

µo§G®É¶¡¡G2007.05.24 05:33     ¨Ó·½¡GÁÉ­}ºô§Þ³NªÀ°Ï    §@ªÌ¡Gdxaw

Socket¬Oºô¸ô¤W¹B¦æªº¨â­Óµ{¦¡¶¡Âù¦V³q°Tªº¤@ºÝ¡A¥¦¬J¥i¥H±µ¨ü½Ð¨D¡A¤]¥i¥Hµo°e½Ð¨D¡A§Q¥Î¥¦¥i¥H¸û¬°¤è«Kªº½s¼gºô¸ô¤W¼Æ¾Úªº¶Ç»¼¡C¦bJava¤¤¡A¦³±MªùªºSocketÃþ¨Ó³B²z¥Î¤áªº½Ð¨D©MÅTÀ³¡C§Q¥ÎSocketÃþªº¤èªk¡A´N¥i¥H¹ê²{¨â¥x¹q¸£¤§¶¡ªº³q°T¡C³o¸Ì´N¤¶²Ð¤@¤U¦bJava¤¤¦p¦ó§Q¥ÎSocket¶i¦æºô¸ô½sµ{¡C

¦bJava¤¤Socket¥i¥H²z¸Ñ¬°«È¤áºÝ©ÎªÌ¦øªA¾¹ºÝªº¤@­Ó¯S®íªº¹ï¶H¡A³o­Ó¹ï¶H¦³¨â­ÓÃöÁ䪺¤èªk¡A¤@­Ó¬OgetInputStream¤èªk¡A¥t¤@­Ó¬OgetOutputStream¤èªk¡CgetInputStream¤èªk¥i¥H±o¨ì¤@­Ó¿é¤J¬y¡A«È¤áºÝªºSocket¹ï¶H¤WªºgetInputStream¤èªk±o¨ìªº¿é¤J¬y¨ä¹ê´N¬O±q¦øªA¾¹ºÝµo¦^ªº¼Æ¾Ú¬y¡CGetOutputStream¤èªk±o¨ì¤@­Ó¿é¥X¬y¡A«È¤áºÝSocket¹ï¶H¤WªºgetOutputStream¤èªkªð¦^ªº¿é¥X¬y´N¬O±N­nµo°e¨ì¦øªA¾¹ºÝªº¼Æ¾Ú¬y¡A¡]¨ä¹ê¬O¤@­Ó½w½Ä°Ï¡A¼È®É¦sÀx±N­nµo°e¹L¥hªº¼Æ¾Ú¡^¡C

µ{¦¡¥i¥H¹ï³o¨Ç¼Æ¾Ú¬y®Ú¾Ú»Ý­n¶i¦æ¶i¤@¨Bªº«Ê¸Ë¡C¥»¤åªº¨Ò¤l´N¹ï³o¨Ç¼Æ¾Ú¬y¶i¦æ¤F¤@©wªº«Ê¸Ë¡]Ãö©ó«Ê¸Ë¥i¥H°Ñ¦ÒJava¤¤¬yªº¹ê²{³¡¤À¡^¡C

¬°¤F§ó¦nªº»¡©ú°ÝÃD¡A³o¸ÌÁ|¤F¤@­Óºô¤W¹ï¸Üªº¨Ò¤l¡A«È¤áºÝ±Ò°Ê¥H«á¡A¦øªA¾¹·|±Ò°Ê¤@­Ó½uµ{¨Ó»P«È¤á¶i¦æ¤å¦r¥æ¬y¡C

­n§¹¦¨³o­Ó¤u§@¡A»Ý­n§¹¦¨¤T­Ó³¡¤Àªº¤u§@¡A¥H¤U¨Ì¦¸»¡©ú¡G

¤@¡B«Ø¥ß¦øªA¾¹Ãþ

Java¤¤¦³¤@­Ó±Mªù¥Î¨Ó«Ø¥ßSocket¦øªA¾¹ªºÃþ¡A¦W¥sServerSocket,¥i¥H¥Î¦øªA¾¹»Ý­n¨Ï¥ÎªººÝ¤f¸¹§@¬°°Ñ¼Æ¨Ó³Ð«Ø¦øªA¾¹¹ï¶H¡C

ServerSocket server = new ServerSocket(9998)

³o±ø»y¥y³Ð«Ø¤F¤@­Ó¦øªA¾¹¹ï¶H¡A³o­Ó¦øªA¾¹¨Ï¥Î9998¸¹ºÝ¤f¡C·í¤@­Ó«È¤áºÝµ{¦¡«Ø¥ß¤@­ÓSocket³s±µ¡A©Ò³s±µªººÝ¤f¸¹¬°9998®É¡A¦øªA¾¹¹ï¶Hserver«KÅTÀ³³o­Ó³s±µ¡A¨Ã¥Bserver.accept()¤èªk·|³Ð«Ø¤@­ÓSocket¹ï¶H¡C¦øªA¾¹ºÝ«K¥i¥H§Q¥Î³o­ÓSocket¹ï¶H»P«È¤á¶i¦æ³q°T¡C

Socket incoming = server.accept()

¶i¦Ó±o¨ì¿é¤J¬y©M¿é¥X¬y,¨Ã¶i¦æ«Ê¸Ë

BufferedReader in = new BufferedReader(new

InputStreamReader(incoming.getInputStream()));

PrintWriter out = new PrintWriter(incoming.getOutputStream(),true);

ÀH«á¡A´N¥i¥H¨Ï¥Îin.readLine()¤èªk±o¨ì«È¤áºÝªº¿é¤J¡A¤]¥i¥H¨Ï¥Îout.println()¤èªk¦V«È¤áºÝµo°e¼Æ¾Ú¡C±q¦Ó¥i¥H®Ú¾Úµ{¦¡ªº»Ý­n¹ï«È¤áºÝªº¤£¦P½Ð¨D¶i¦æ¦^À³¡C

¦b©Ò¦³³q°Tµ²§ô¥H«áÀ³¸ÓÃö³¬³o¨â­Ó¼Æ¾Ú¬y¡AÃö³¬ªº¶¶§Ç¬O¥ýÃö³¬¿é¥X¬y¡A¦AÃö³¬¿é¤J¬y¡A§Y¨Ï¥Î

out.close();

in.close();

¤G¡B«Ø¥ß«È¤áºÝ¥N½X

¬Û¤ñ¦øªA¾¹ºÝ¡A«È¤áºÝ­n²³æ¤@¨Ç¡A«È¤áºÝ¥u»Ý¥Î¦øªA¾¹©Ò¦b¾÷¾¹ªºip¥H¤Î¦øªA¾¹ªººÝ¤f§@¬°°Ñ¼Æ³Ð«Ø¤@­ÓSocket¹ï¶H¡C±o¨ì³o­Ó¹ï¶H«á¡A´N¥i¥H¥Î"«Ø¥ß¦øªA¾¹"³¡¤À¤¶²Ðªº¤èªk¹ê²{¼Æ¾Úªº¿é¤J©M¿é¥X¡C

Socket socket = new Socket("168.160.12.42",9998);

in = new BufferedReader(new InputStreamReader(socket.getInputStream()));

out = new PrintWriter(socket.getOutputStream(),true);

¥H¤Wªºµ{¦¡¥N½X«Ø¥ß¤F¤@­ÓSocket¹ï¶H¡A³o­Ó¹ï¶H³s±µ¨ìip¦a§}¬°168.160.12.42ªº¥D¾÷¤W¡BºÝ¤f¬°9998ªº¦øªA¾¹¹ï¶H¡C¨Ã¥B«Ø¥ß¤F¿é¤J¬y©M¿é¥X¬y¡A¤À§O¹ïÀ³¦øªA¾¹ªº¿é¥X©M«È¤áºÝªº¼g¤J¡C

¤T¡B«Ø¥ß¥Î¤á¤¶­±

ŪªÌ¥i¥H®Ú¾Ú¦Û¤vªº³ß¦n«Ø¥ß¦Û¤vªº¥Î¤á¤¶­±¡A³o¤£¬O¥»¤åªº­«ÂI¡C

¸g¹L¥H¤W¤T­Ó¨BÆJ¡A´N¥i¥H«Ø¥ß¤@­Ó¤ñ¸û²³æªº¹ï¸Üµ{¦¡¡C¦ý¬O¡A¬°¤F¨Ï³o­Óµ{¦¡§ó¥[§¹µ½¡AÀ³¶i¦æ¥H¤U´X­Ó§ï¶i¡G

¤@¡B²{¦b¦øªA¾¹¥u¯àªA°È¤@­Ó«È¤á¡A¤]´N¬O³æ½uµ{ªº¡C¥i¥H±N¥¦§ï¶i¬°¦h½uµ{¦øªA¾¹¡C

try
¡@¡@{ file://«Ø¥ß¦øªA¾¹
¡@¡@¡@ServerSocket server = new ServerSocket(9998);
¡@¡@¡@int i=1;
¡@¡@¡@for(;;)
¡@¡@¡@{
¡@¡@¡@¡@Socket incoming = server.accept();
¡@¡@¡@¡@new ServerThread(incoming,i).start();
¡@¡@¡@¡@i++;
¡@¡@¡@}
¡@¡@}catch (IOException ex){ ex.printStackTrace(); }

°j°éÀË´ú¬O§_¦³«È¤á³s±µ¨ì¦øªA¾¹¤W¡A¦pªG¦³¡A«h³Ð«Ø¤@­Ó½uµ{¨ÓªA°È³o­Ó«È¤á¡A³o­Ó½uµ{ªº¦WºÙ¬OServerThread¡A³o­ÓÃþÂX®i¤FThreadÃþ¡A¥¦ªº½s¼g¤èªk»P«e­zªº¦øªA¾¹ªº¼gªk¬Û¦P¡C

¤G¡B¬°¤F¥i¥HÀH®É±o¨ì¹ï¤è¶Ç°e¹L¨Óªº®ø®§¡A¥i¥H¦b¦øªA¾¹¥H¤Î«È¤áºÝ¦U«Ø¥ß¤@­Ó¿W¥ßªº½uµ{¨Ó¹î¬Ý¿é¤J¬y¡A¦pªG¿é¤J¬y¤¤¦³¿é¤J¡A«h¥i¥H§Y®ÉÅã¥Ü¥X¨Ó¡C¥N½X¦p¤U¡G

new Thread()
¡@¡@{
¡@¡@¡@public void run()
¡@¡@¡@{
¡@¡@¡@¡@try
¡@¡@¡@¡@{¡@
¡@¡@¡@¡@¡@while(true)
¡@¡@¡@¡@¡@{
¡@¡@¡@¡@¡@¡@checkInput();
¡@¡@¡@¡@¡@¡@sleep(1000);//¨C1000²@¬íÀË´ú¤@¦¸
¡@¡@¡@¡@¡@}
¡@¡@¡@¡@}catch(InterruptedException ex)
¡@¡@¡@{
¡@¡@¡@}catch(IOException ex)
¡@¡@¡@{
¡@¡@¡@¡@}
¡@¡@¡@}
¡@¡@}.start();
¡@¡@¨ä¤¤ªºcheckInput()¤èªk¬°
¡@¡@private void checkInput() throws IOException
¡@¡@{
¡@¡@¡@String line;
¡@¡@¡@if((line=in.readLine())!=null) file://ÀË´ú¿é¤J¬y¤¤¬O§_¦³·sªº¼Æ¾Ú
¡@¡@¡@¡@t.setPartner(line); file://±N¼Æ¾Ú¬y¤¤ªº®ø®§Åã¥Ü¥X¨Ó
¡@¡@}

³q¹L¥H¤W§ï¶i¡Aµ{¦¡´N¥i¥H¤ñ¸û¦nªº¹B¦æ¤F¡C

ªþ¡G¦øªA¾¹ªº¹ê²{¥N½X

import java.net.*;
¡@¡@import java.io.*;
¡@¡@import java.awt.event.ActionEvent;
¡@¡@import java.awt.event.ActionListener;
¡@¡@public class talkServer
¡@¡@{ public static void main(String[] args)
¡@¡@¡@{ try
¡@¡@¡@¡@{ file://«Ø¥ß¦øªA¾¹
¡@¡@¡@¡@¡@ServerSocket server = new ServerSocket(9998);
¡@¡@¡@¡@¡@int i=1;
¡@¡@¡@¡@¡@for(;;)
¡@¡@¡@¡@¡@¡@{ Socket incoming = server.accept()
¡@¡@¡@¡@¡@¡@¡@new ServerThread(incoming,i).start();
¡@¡@¡@¡@¡@¡@¡@i++;
¡@¡@¡@¡@¡@¡@}
¡@¡@¡@¡@¡@}catch (IOException ex){
¡@¡@¡@¡@¡@ex.printStackTrace();
¡@¡@¡@¡@}
¡@¡@¡@}
¡@¡@}
¡@¡@class ServerThread extends Thread implements ActionListener
¡@¡@{
¡@¡@¡@private int threadNum;
¡@¡@¡@private Socket socket;
¡@¡@¡@talkServerFrm t;
¡@¡@¡@BufferedReader in;
¡@¡@¡@PrintWriter out;
¡@¡@¡@private boolean talking=true;
¡@¡@¡@public ServerThread(Socket s,int c)
¡@¡@¡@{ threadNum = c;
¡@¡@¡@¡@socket = s;
¡@¡@¡@}
¡@¡@public void actionPerformed(ActionEvent e)
¡@¡@{ Object source = e.getSource();
¡@¡@¡@try{
¡@¡@¡@¡@if(source==t.btnSend)
¡@¡@¡@¡@¡@{ out.println(t.getTalk());
¡@¡@¡@¡@¡@¡@t.clearTalk();
¡@¡@¡@¡@}else
¡@¡@¡@¡@if(source==t.btnEnd)
¡@¡@¡@¡@¡@{ out.println("½Í¸Ü¹Lµ{³Q¹ï¤è²×¤î");
¡@¡@¡@¡@¡@¡@out.close();
¡@¡@¡@¡@¡@¡@in.close();
¡@¡@¡@¡@¡@¡@talking = false;
¡@¡@¡@¡@¡@}
¡@¡@¡@}catch(IOException ex){
¡@¡@¡@}
¡@¡@}
¡@¡@public void run()
¡@¡@{ try{
¡@¡@¡@¡@t=new talkServerFrm(new Integer(threadNum).toString(),this);
¡@¡@¡@¡@t.setSize(500,500);
¡@¡@¡@¡@t.show();
¡@¡@¡@¡@in = new BufferedReader(new 
¡@¡@¡@¡@¡@¡@¡@ InputStreamReader(socket.getInputStream()));
¡@¡@¡@¡@out = new PrintWriter(socket.getOutputStream(),true);
¡@¡@¡@}catch(Exception e){
¡@¡@}
¡@¡@¡@new Thread()
¡@¡@¡@{ public void run()
¡@¡@¡@¡@{ try{
¡@¡@¡@¡@¡@¡@while(true)
¡@¡@¡@¡@¡@¡@{ checkInput();
¡@¡@¡@¡@¡@¡@¡@sleep(1000);
¡@¡@¡@¡@}
¡@¡@¡@}catch (InterruptedException ex){
¡@¡@¡@}catch(IOException ex){
¡@¡@¡@}
¡@¡@¡@}
¡@¡@¡@}.start();
¡@¡@¡@while(talking)
¡@¡@¡@{ }
¡@¡@¡@t.dispose();
¡@¡@¡@}
¡@¡@private void checkInput() throws IOException
¡@¡@{ String line;
¡@¡@¡@if((line=in.readLine())!=null)
¡@¡@¡@¡@t.setPartner(line); file://³o¬O¤¶­±Ãþùتº¤èªk¡A
¡@¡@¡@¡@file://¥Î¨Ó±Nlineªº¤º®e¿é¥X¨ì¥Î¤á¤¶­±
¡@¡@¡@}
¡@¡@}
(T007)

¡@¡@


[ µoªíµû½× ] ¦rÅé[ ¤j¡B¤¤¡B¤p ] [ ¦C¦L ] [ ¶i¤J³Õ«È ] [ ¶i¤J½×¾Â ]  [ ±ÀÂ˵¹ªB¤Í ]
  ¡i¬ÛÃö¤å³¹¡j
¡P ¨Ï¥Î§Þ¥© ¦p¦ó¥ÎJavaŪ¨úExcel¤å¥ó¤º®e (05-23) ¡P À³¸Ó°w¹ï¤¶­±½sµ{ ¦Ó¤£¬O°w¹ï¹ê²{½sµ{ (05-23)
¡P Java°ò¦½g ¹ï©óStringÃþ«¬ªº²`¨è²z¸Ñ (05-23) ¡P Java¤¤ÀRºAÃöÁä¦rªº¨Ï¥Î©M¤º³¡Ãþªº½Õ¥Î (05-23)
¡P ¦p¦ó¨Ï¥ÎJava¤¤¶°¦XÃþªº¸Ô²ÓÁ¿¸Ñ (05-22) ¡P ¨Ï¥ÎJava¨Ó½s¼g³q¹L¥N²z³X°ÝªºÀ³¥Îµ{¦¡ (05-22)
¡P ¹ê¾ÔJava¦h½uµ{½sµ{¤¤¤£´£­Ò¨Ï¥Îªº¤èªk (05-22) ¡P Java°ò¦½g ¥ÎJSP³s±µSQLServer¼Æ¾Ú®w (05-22)
¡P J2SE·s¯S©Ê Windows¤UŪ¨úºô¥dª«²z¦a§} (05-22) ¡P ¸Ô²Ó¸ÑªR Java¤¤ªº©â¶HÃþ©M¤¶­±ªº°Ï§O (05-22)
  ¡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¤è®×®×¨Ò
¡P ²¾°Ê¸ê°T¤Æ¥«³õ¤è¿³¥¼¦ã ¥ø·~©I³ê¼Ð·Ç¥X»O
¡P ¦p¦ó§â´¤¥ø·~»ù­È®t²§ Á×§KCRM»PSCM²æ¸`
¡P »ô¬Ý¥|¤j¼t°ÓªºSaaS°ÊºA ERP®×¨Ò¤ÀªR
¡P ³q¤è´Á³fCRM¸Ñ¨M¤è®× ¤è¥¿¹q¤l¤½¤å¨t²Î
  IT³Õ«È ¡P´¿¼C¬î¡P¶µ¥ß­è¡PJava¾Ç²ß¡PºôºÞ
  IT§Þ³N½×¾Â ¡P¶}µo¡PºôºÞ¡P¦w¥þ¡P¼Æ¾Ú®w¡P¨t²Î