zl程序教程

您现在的位置是:首页 >  云平台

当前栏目

简单的javasocket客户端和服务端示例

客户端 简单 示例 服务端 javaSocket
2023-06-13 09:15:17 时间

客户端

复制代码代码如下:

importjava.io.BufferedReader;
importjava.io.InputStreamReader;
importjava.io.PrintWriter;
importjava.net.Socket;

publicclassMyClient{ 
   publicstaticvoidmain(String[]args)throwsException{ 
       Socketsocket=newSocket("localhost",10000); 
       BufferedReaderin=newBufferedReader(newInputStreamReader(socket.getInputStream())); 
       PrintWriterout=newPrintWriter(socket.getOutputStream()); 
       BufferedReaderreader=newBufferedReader(newInputStreamReader(System.in)); 

       while(true){ 
           Stringmsg=reader.readLine(); 
           out.println(msg); 
           out.flush(); 
           if(msg.equals("bye")){ 
               break; 
           } 
           System.out.println(in.readLine()); 
       } 
       socket.close(); 
   } 

服务端

复制代码代码如下:

importjava.io.BufferedReader;
importjava.io.IOException;
importjava.io.InputStreamReader;
importjava.io.PrintWriter;
importjava.net.ServerSocket;
importjava.net.Socket;

publicclassMyServer{ 
   publicstaticvoidmain(String[]args)throwsIOException{ 
       ServerSocketserver=newServerSocket(10000); 

       while(true){ 
           Socketsocket=server.accept(); 
           invoke(socket); 
       } 
   } 

   privatestaticvoidinvoke(finalSocketclient)throwsIOException{ 
       newThread(newRunnable(){ 
           publicvoidrun(){ 
               BufferedReaderin=null; 
               PrintWriterout=null; 
               try{ 
                   in=newBufferedReader(newInputStreamReader(client.getInputStream())); 
                   out=newPrintWriter(client.getOutputStream()); 

                   while(true){ 
                       Stringmsg=in.readLine(); 
                       System.out.println(msg); 
                       out.println("Serverreceived"+msg); 
                       out.flush(); 
                       if(msg.equals("bye")){ 
                           break; 
                       } 
                   } 
               }catch(IOExceptionex){ 
                   ex.printStackTrace(); 
               }finally{ 
                   try{ 
                       in.close(); 
                   }catch(Exceptione){} 
                   try{ 
                       out.close(); 
                   }catch(Exceptione){} 
                   try{ 
                       client.close(); 
                   }catch(Exceptione){} 
               } 
           } 
       }).start(); 
   }