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

📄 talkclient.java

📁 贪食蛇的实现源码
💻 JAVA
字号:
package com.henry.networking;

import java.net.*;
import java.io.*;

public class TalkClient {

    public static void main(String[] args) {

	int port = 1500;
	String server = "localhost";	

        Socket socket=null;
        

	String lineToBeSent="";
	
       BufferedReader  inputFromKeyBoard;
       
       ObjectInputStream is=null;
       ObjectOutputStream os=null;

      //  InputStream i=null;
       //  OutputStream o=null;
 

	// read arguments
	if(args.length == 2) {
	    server = args[0];
	    try {
		port = Integer.parseInt(args[1]); 
	    }
	    catch (Exception e) {
		System.out.println("server port = 1500 (default)");
		port = 1500;
	    }
	}

	// connect to server
	try {
	    socket = new Socket(server, port);           
           
	    System.out.println("client socket1 is!!!!!!!: " + socket);
	    System.out.println("Connected with server " +
				   socket.getInetAddress() +
				   ":" + socket.getPort());

                     
           
	}
	catch (UnknownHostException e) {
	    System.out.println(e);
	    System.exit(1);
	}
	catch (IOException e) {
	    System.out.println(e);
	    System.exit(1);
	}

	try {
             
	    inputFromKeyBoard = new BufferedReader(new InputStreamReader(System.in));	   
             System.out.println("inputFromKeyBoard reader ok"); 
 
          /*   i= socket.getInputStream();
                System.out.println("socket getInputStream ok");
  
              
             o= socket.getOutputStream();
                System.out.println("socket getOutputStream ok");

             is=new ObjectInputStream(i);
                System.out.println("Object InputStream ok"); 

             os=new ObjectOutputStream(o);
               System.out.println("Object OutputStream ok");   

            */
 
            is=new ObjectInputStream(socket.getInputStream());
            System.out.println("socket ObjectInputStream  ok "); 


             os=new ObjectOutputStream(socket.getOutputStream());
               System.out.println(" socket ObjectOutputStream ok "); 

 
              Thread t=new Thread(new ClientRunnable(is));
              t.start();

	    // get user input and send it to server
	    while(true) {
                
		lineToBeSent = inputFromKeyBoard.readLine();          

		// stop if input line is "quit"
		if ( (lineToBeSent==null) || (lineToBeSent.equals("quit")) ){                     
		     os.writeObject(lineToBeSent); //send to server
                     break;
                }
              
                os.writeObject(lineToBeSent);   //send to server                		

             /*   String message=(String) is.readObject();  //get from server
    
		if ( (message==null) || (message.equals("quit")) ){                
                      break;
	         }

                System.out.println(message);   */
            }   

           
	}
	catch (Exception e) {
	    System.out.println(e);
	}
     
        finally{
            

            if (is!=null){
                try{   
                   is.close();
                }catch (Exception e) {
	            System.out.println(e);
	        }
            }
          

            if (os!=null){
                 try{
                    os.close();
                 }catch (Exception e) {
	            System.out.println(e);
	         }
            }

            if (socket!=null){
                 try{   
                   socket.close();
                 }catch (Exception e) {
	            System.out.println(e);
	         }
            }

            
       }
	
    }


    static class ClientRunnable implements Runnable {
     
       ObjectInputStream is=null;      
        
       public ClientRunnable( ObjectInputStream is ){
           this.is=is;
       }

      public void run(){
        try{
           
           while(true){
               String message=(String) is.readObject();  //get from server
    
		if ( (message==null) || (message.equals("quit")) ){                
                      break;
	         }

                System.out.println(message);
           }
          
           is=null;
         }
         catch (Exception e) {
		    System.out.println(e);
                    e.printStackTrace();
	 }
      }

    }//inner class



}


⌨️ 快捷键说明

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