Java课程学习内容回顾(网络编程)

1.IP:唯一标识网络上的没一台计算机(相当于每台计算机都有一个IP地址,而且是唯一的);

2.IP地址组成:由4个8位二进制数组成  例如:11000000,10101000,00000001,11001000将他们转换成十进制就是  192.168.1.200

3.由上述所示:192.168.1表示网络地址   200表示主机地址

网络地址决定了可以分配的最大网络数,主机地址决定了一个网络中可以存在可以存在的计算机的最大数量

4.查看本机的IP地址:ipconfig,,   测试网络是否畅通:ping+IP地址;

5.TCP协议:TCP协议是一种面向连接的,可靠的,基于字节流的传输的传输层协议。TCP要求通信双方必须建立连接之后才通信,通信双方可以同时进行数据传输。他是全双工的,从而保证数据的正确传输。

6:UDP协议:UDP协议是一种无连接的,不可靠的传输层协议;

7.socket:套接字(打个比方来说好比两个快递点,发货人从某个快递点发货,收货人从指定的快递点收货,发货人的快递点和收货人的快递点就好比两个端点,一个端点发送数据,一个端点接收数据)

8.代码实例:

package com.ip1.text;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;

public class SeverSocketDome {
    //服务器
    public static void main(String[] args) {
        try {
            ServerSocket serverSocket=new ServerSocket(8080);
            Socket socket=serverSocket.accept();
            InputStream is=socket.getInputStream();
            InputStreamReader isr=new InputStreamReader(is);
            BufferedReader br=new BufferedReader(isr);
            String info;
            while ((info=br.readLine())!=null) {
                System.out.println(info);
                
            }
            
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

}

package com.ip.text;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

/**
 * 网络编程
 *
 * @author lenovo
 *
 */
public class ServerDome {
    public static void main(String[] args) {
        InputStream is=null;
        InputStreamReader isr=null;
        BufferedReader br=null;
        Socket socket=null;
        OutputStream os=null;
        //服务器
        try {
            //建立服务器,指定端口5000
            ServerSocket so=new ServerSocket(5000);
            //通过accept()方法等待客户端发起通信
            socket=so.accept();
            //打开输入流,让客户端输入,服务器接收
             is=socket.getInputStream();
            //输入的是字符,所以将字节转换为字符
             isr=new InputStreamReader(is);
             br=new BufferedReader(isr);
            String info;
            //读取客户端的信息
            while ((info=br.readLine())!=null) {
                System.out.println("客户端说:"+info);
                
            }
          
            //给客户端响应
            //打开输出流,让服务器给客户端提示登录成功
            os=socket.getOutputStream();
            String say="欢迎您,登录成功";
            //打撒成字节数组
            byte[]words=say.getBytes();
            os.write(words);
            
            
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally{
            try {
                is.close();
                isr.close();
                br.close();
                socket.close();
                os.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            
        }
        
        
    }

}


猜你喜欢

转载自blog.csdn.net/ybb520chongren_/article/details/80303277