zoukankan      html  css  js  c++  java
  • java socket

    socke

    Java.net.Socket 类
    socket() //创建一个未连接的套接字 void connect(SocketAddress address)//将套接字连接到给定的地址 void connect(SocketAddress address,int timeoutInMillisseconds) //setTimeout 设置超时值,单位毫秒,如果超时没反应将返回 void setSoTimeout(int timecoutInMilliseconds) //setTimeout 设置超时值,单位毫秒,如果之后的读写操作超时将抛出异常 boolean isConnected() //如果套接字已连接,返回true boolean isClosed() //如果套接字已关闭,返回true
    public void shutdownOutput() //将输出流设为结束
    public void shutdownInput() //将输入流设为"结束"
    public void isOutputShutdown() //如果输出流结束,返回true
    public void isInputShutdown() //如果输入流"结束",返回true
     

    Socket 单次连接实例

    package test;
    //: MultiJabberClient.java 
    //Client that tests the MultiJabberServer 
    //by starting up multiple clients. 
    import java.net.*; 
    import java.io.*; 
    
    public class MultiJabberClient { 
    
        public static void main(String[] args){
        System.out.println("Making client " ); 
         Socket socket = new Socket(); 
         BufferedReader in; 
         PrintWriter out; 
         try { 
        //   socket =  
    //         new Socket(addr, 5000); 

    //InetAddress iis = Inet6Address.getByName("106.13.46.152");
    //socket = new Socket(iis,5000); SocketAddress address= new InetSocketAddress("106.13.46.152",5000);//获得连接端点 socket.connect(address,1000); //连接 参数1000是延时时间 // socket.setSoTimeout(100);//setTimeout 设置超时值,单位毫秒,如果之后的读写操作超时将抛出异常 } catch(IOException e) { // If the creation of the socket fails, // nothing needs to be cleaned up. } try { in = new BufferedReader( new InputStreamReader( socket.getInputStream())); // Enable auto-flush: out = new PrintWriter( new BufferedWriter( new OutputStreamWriter( socket.getOutputStream())), true); for(int i = 0; i < 10; i++) { out.println("I" + ":" + i); String str = in.readLine(); System.out.println(str); } out.println("END"); } catch(IOException e) { // The socket should be closed on any // failures other than the socket // constructor: try { socket.close(); } catch(IOException e2) {} } } } ///:~

    socket 多个客服端编程实例

    package test;
    //: MultiJabberClient.java 
    // Client that tests the MultiJabberServer 
    // by starting up multiple clients. 
    import java.net.*; 
    import java.io.*; 
     
    class JabberClientThread extends Thread { 
      private Socket socket; 
      private BufferedReader in; 
      private PrintWriter out; 
      private static int counter = 0; 
      private int id = counter++; 
      private static int threadcount = 0; 
      public static int threadCount() {  
        return threadcount;  
      } 
      public JabberClientThread(InetAddress addr) { 
        System.out.println("Making client " + id); 
        threadcount++; 
        try { 
          socket =  
            new Socket(addr, 5000); 
        } catch(IOException e) { 
          // If the creation of the socket fails,  
          // nothing needs to be cleaned up. 
        } 
        try {     
          in =  
            new BufferedReader( 
              new InputStreamReader( 
                socket.getInputStream())); 
          // Enable auto-flush: 
          out =  
            new PrintWriter( 
              new BufferedWriter( 
                new OutputStreamWriter( 
                  socket.getOutputStream())), true); 
          start(); 
        } catch(IOException e) { 
          // The socket should be closed on any  
          // failures other than the socket  
          // constructor: 
          try { 
            socket.close(); 
          } catch(IOException e2) {} 
        } 
        // Otherwise the socket will be closed by 
        // the run() method of the thread. 
      } 
      public void run() { 
        try { 
          for(int i = 0; i < 25; i++) { 
            out.println("Client " + id + ": " + i); 
            String str = in.readLine(); 
            System.out.println(str); 
          } 
          out.println("END"); 
        } catch(IOException e) { 
        } finally { 
          // Always close it: 
          try { 
            socket.close(); 
          } catch(IOException e) {} 
          threadcount--; // Ending this thread 
        } 
      } 
    } 
     
    public class MultiJabberClient { 
      static final int MAX_THREADS = 40; 
      public static void main(String[] args)  
          throws IOException, InterruptedException { 
        InetAddress addr =  
          InetAddress.getByName("106.13.46.152"); 
        while(true) { 
          if(JabberClientThread.threadCount()  
             < MAX_THREADS) 
            new JabberClientThread(addr); 
          Thread.currentThread().sleep(100); 
        } 
      } 
    } ///:~
    
    
  • 相关阅读:
    bat 命令如何启动远程PC上的一个程序
    Python的内置list类
    Python3的列表推导式
    python3修改Excel中固定单元格的内容
    python3“腌制”数据
    python3用print写数据到文件中
    github在线预览项目(html)
    github简单上手
    事件DOMContentLoaded和load的区别
    jquery 一些事件
  • 原文地址:https://www.cnblogs.com/jiangfeilong/p/10504029.html
Copyright © 2011-2022 走看看