网络编程01

实现TCP程序,须要编写服务器端和客户端,java  API为咱们提供了java.net包 ,为网络应用程序提供类。java

ServerSocket 此类实现服务器套接字服务器

Socket:此类实现客户端套接字网络

TCP程序最简单的例子:Echosocket

(服务器端)EchoServerDemo.java.net

package ScoketDemo;server

import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;get

public class EchoServerDemo {io

    public static void main(String[] args) {
        //建立一个服务器端口的Scoket(1024-65535)
        try {
            ServerSocket server = new ServerSocket(6666);
            //等待客户端链接,形成阻塞
            System.out.println("服务器已启动,正在等待客户端链接");
            Socket socket = server.accept();
            System.out.println("服务器链接成功"+server.getInetAddress().getHostAddress());
            //经过输入流读取客户端发送的消息
            BufferedReader br = new BufferedReader(
                    new InputStreamReader(socket.getInputStream()));
            String info = br.readLine();
            System.out.println(info);
            
            //获取输出流,向客户端返回原来读取的消息
            PrintStream ps = new PrintStream(
                    new BufferedOutputStream(socket.getOutputStream()));
            ps.println("echo:"+info);
            ps.flush();
            ps.close();
            br.close();
            
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
    }class

}
 import

(客户端)EchoClientDemo.java

package ScoketDemo;

import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.Socket;
import java.net.UnknownHostException;

public class EchoClientDemo {

    public static void main(String[] args) {
        try {
            Socket socket = new Socket("localhost",6666);
            //获取socket的输入输出流
            PrintStream ps = new PrintStream(new BufferedOutputStream(socket.getOutputStream()));
            BufferedReader br =new BufferedReader(new InputStreamReader(socket.getInputStream()));
            
            //经过输出流向服务器发送 hello,my name is dashabi 
            ps.println("hello,my name is dashabi");
            ps.flush();
            
            //经过输入流读取服务器发来的消息
            String info = br.readLine();
            System.out.println(info);
            ps.close();
            br.close();
        } catch (UnknownHostException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

}  

相关文章
相关标签/搜索