socket简单java模拟

来源:互联网 发布:java关键字do的作用 编辑:程序博客网 时间:2024/05/16 18:07

1. [代码]服务端

package com.socket;
 
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
 
public class Server {
    privateint port=8189;
    Server(){}
    Server(intport){this.port=port;}
 
    publicvoid service(){
        try{ ServerSocket server=newServerSocket(port) ;
            Socket socket=server.accept();
            try{
                BufferedReader input=newBufferedReader(newInputStreamReader(socket.getInputStream()) );
                booleanflag=true;
                intcount=1;
                System.out.println("第"+count+"次连接,");
                count++;
                while(flag){
                    String line=input.readLine();
                    System.out.println(line);
 
                }
            }finally{socket.close();}
        }catch(IOException e){
            e.printStackTrace() ;
        }
    }
 
    publicstatic void main(String[] args) {
        newServer().service();
    }
}

 [代码]客户端

package com.socket;
 
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.util.Scanner;
 
/**
 * Created by Mirror on 2016/7/11.
 */
public class Client {
    privateString host="127.0.0.1";
    privateint port= 8189;
    publicClient(){}
    publicClient(String host,intport){
        this.host=host;
        this.port=port;
    }
    publicvoid client(){
        try{Socket client=newSocket(host,port);
            try{
                PrintWriter out=newPrintWriter(client.getOutputStream(),true);
                BufferedReader input=newBufferedReader(newInputStreamReader(client.getInputStream()) );
                Scanner in=newScanner(System.in);
                while(in.hasNext()){
                    String accept=in.nextLine();
                    out.println(accept);
                    System.out.println(accept);
                }in.close();
                while(true) {
                    String get = input.readLine();
                    System.out.println(get);
                }
            }finally{client.close();}
 
        }catch(IOException e){
            e.printStackTrace() ;
        }
    }
 
 
    publicstatic void main(String args[]){
        newClient().client() ;
    }




原创粉丝点击