网络编程-小结

1-----------------------------------------------------基本知识----------------------------------------------------------------

网络编程的三要素
        A:IP地址
            a:点分十进制
            b:IP地址的组成
            c:IP地址的分类
            d:dos命令
            e:InetAddress
        B:端口
            是应用程序的标识。范围:0-65535。其中0-1024不建议使用。
        C:协议

          (1)TCP/IP(传输控制协议 Transmission Control Protocol),互联网传输协议。建立数据通道,无限制,效率低,可靠

          (2)UDP (用户数据报协议 User Datagram Protocol),数据打包,有限制,不连接,效率高,不可靠

          (3)HTTP 超文本传输协议  默认端口:80

          (4)HTTPS 安全超级文本传输协议  默认端口:443

          (5)FTP(File Transfer Protocol)文件传输协议

 

2-----------------------------------------------------基本代码----------------------------------------------------------------

1、TCP协议是面向连接的、可靠的、有序的、以字节流的方式发送数据,通过三次握手方式建立连接,形成传输数据的通道,在连接中进行大量数据的传输,效率会稍低。

服务端

public class ServerSoc {

    public static void main(String[] args) throws IOException {
        
        /**
         * 基于TCP协议的Socket通信,实现用户登录,服务端
        */
        
        //1、创建一个服务器端Socket,即ServerSocket,指定绑定的端口,并监听此端口
        ServerSocket serverSocket =new ServerSocket(11111);//1024-65535的某个端口 、
        //2、调用accept()方法开始监听,等待客户端的连接
        while(true){
        Socket socket = serverSocket.accept();
        //3、获取输入流,并读取客户端信息
        InputStream is = socket.getInputStream();
        InputStreamReader isr =new InputStreamReader(is);
        BufferedReader br =new BufferedReader(isr);
        String info =null;
        while((info=br.readLine())!=null){
        System.out.println("我是服务器,客户端说:"+info);
        }
        socket.shutdownInput();//关闭输入流
        //4、获取输出流,响应客户端的请求
        OutputStream os = socket.getOutputStream();
        PrintWriter pw = new PrintWriter(os);
        pw.write("欢迎您!");
        pw.flush();
        }
    }
}

客户端

public class ClientSoc {

    public static void main(String[] args) {
        
        try {
            //客户端
            //1、创建客户端Socket,指定服务器地址和端口
            Socket socket =new Socket("127.0.0.1",11111);
            //2、获取输出流,向服务器端发送信息
            OutputStream os = socket.getOutputStream();//字节输出流
            PrintWriter pw =new PrintWriter(os);//将输出流包装成打印流
            pw.write("用户名:admin;密码:123");
            pw.flush();
            socket.shutdownOutput();
            //3、获取输入流,并读取服务器端的响应信息
            InputStream is = socket.getInputStream();
            BufferedReader br = new BufferedReader(new InputStreamReader(is));
            String info = null;
            while((info=br.readLine())!= null){
             System.out.println("我是客户端,服务器说:"+info);
            }
            
        }catch (IOException e) {
            e.printStackTrace();
        }
    }
}

 

posted @ 2016-12-15 17:01  陶庭开  阅读(202)  评论(0编辑  收藏  举报