⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 host.java

📁 Java网络编程的若干源码之No.1
💻 JAVA
字号:
import java.awt.*;
import java.net.*;
import java.util.*;
import java.io.*;


public class Host 

{  final static int WAIT_TIMEOUT = ( 1000 );

   public static String sentence;
		   
   public static String modifiedSentence="";
   public static BufferedReader inFromUser;
   public static Socket clientSocket;
   public static DataOutputStream outToServer;
   public static BufferedReader inFromServer;
			

    public Host()
    {}

   
   
	
	
	
	

    public String getString() {return modifiedSentence;}
    synchronized private static int getResponse() throws IOException
    {
        
        
        TimeoutRead thread = new TimeoutRead( inFromServer );
        //thread.setBuffer("");
        thread.start();
        try
        {
            thread.join( WAIT_TIMEOUT );
        }
        catch( InterruptedException e )
        {
        }
        if( thread.isComplete() && thread.getBuffer().charAt(0)=='A' )
        {
            return 1;
        }
        return 0;
        // nothing in buffer
    }


   public static void main(String arg[]) throws Exception
	{// 

         int x;

        //
       while(true){   System.out.println("send data:");
               
                 inFromUser = new  BufferedReader (new InputStreamReader ( System.in ));
		
		        sentence = inFromUser.readLine();
	       
	      
                	while(true){    
			                clientSocket = new Socket("127.0.0.1",4000);
			                inFromServer =  new BufferedReader (new InputStreamReader (
	       				   									                clientSocket.getInputStream()));
   
						
					outToServer = new DataOutputStream (
				  	    
				  	clientSocket.getOutputStream());
			
			                outToServer.writeBytes(sentence + '\n');
			                 		
			                 		
			                modifiedSentence = inFromServer.readLine();
			                 		
					x=getResponse();
			                if(x==1)
						{	
							System.out.println("sended!");													
			 				break;
						}   
					else {	System.out.println("re_send:");	}		 		
                       	   	   }
                   
                }	
      }      						              

}





class TimeoutRead extends Thread 
{
	private String s = new String( "" );
    private String buffer = new String( "" );
    private BufferedReader input;
    private boolean complete = false;
    synchronized String getBuffer() { return buffer; }
    synchronized void setBuffer(String s) { buffer=s; }
    
 
    	 
    	Host ttt=new Host();
    	
  
    
    
    synchronized public boolean isComplete()
    {
        return complete;
    }
    public TimeoutRead( BufferedReader i )
    {
        input = i;
    }
    public void run() // do input in thread 
    {
        
        	s=ttt.getString();
        	complete = true;
            do
            {
               setBuffer(s);
               
            } while (getBuffer().charAt(0)=='A'); 
        
        
        
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -