为了账号安全,请及时绑定邮箱和手机立即绑定

Java Socket应用---通信是这样练成的

难度初级
时长 2小时 0分
学习人数
综合评分9.77
496人评价 查看评价
9.9 内容实用
9.8 简洁易懂
9.6 逻辑清晰
  • 老师说了很多错误的东西,,,,,
    查看全部
    1 采集 收起 来源:网络基础简介

    2015-07-10

  • 重要:java中的网络支持,提供的网络功能的四大类。
    查看全部
    1 采集 收起 来源:网络基础简介

    2015-07-01

  • Java中的网络支持 Java提供的网络功能有四大类: 1.InetAddress:用于标识网络上的硬件资源, 2,Url:统一资源定位器, 3.sockets:使用TCP协议实现网络通信的的socket相关类。 4.Datagram:使用UDP协议,将数据保存在数据报中,通过网络进行通信。
    查看全部
    1 采集 收起 来源:网络基础简介

    2015-06-28

  • 项目背景
    查看全部
  • 1、多线程的优先级

    未设置优先级可能会导致运行速度非常慢,可降低优先级

    2、是否关闭输出流和输入流

    对于同一个socket,如果关闭了输出流,则与该输出流关联的socket也会被关闭,所以一般不用关闭流,直接关闭socket

    3、使用TCP通信传输对象

    4、socket编程传递文件

    查看全部
    1 采集 收起 来源:Socket 总结

    2019-10-18

  • UDP----服务器端实现步骤
    查看全部
  • 3.上传文件
    查看全部
  • 网络基础知识:

    1、TCP/IP协议簇 -传输层协议

    HTTP 超文本传输协议、FTP文件传输协议、SMTP简单邮件传输协议、Telnet 远程登录服务-应用层

    2、IP地址

    3、端口:端口号范围0~65535,0~1023为系统所保留

    4、socket(IP+端口号,TCP和UDP的基础)

    5、JAVA提供网络功能四大类:

    (1)InetAddress:网络的硬件资源-IP

    (2)URL:统一资源定位符,读写网络上的数据

    (3)Sockets:使用TCP协议实现网络通信

    (4)Datagram:使用UDP协议,将数据保存在数据报中,通过网络进行通信


    查看全部
    1 采集 收起 来源:网络基础简介

    2018-12-03

  • http :80 

    ftp:21

    telnet:23  Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个telnet会话,必须输入用户名和密码来登录服务器。Telnet是常用的远程控制Web服务器的方法

    查看全部
    1 采集 收起 来源:网络基础简介

    2018-11-09

  • 基于UDP的多线程登陆
    /**
    * 服务器端,实现基于UDP的用户登录 
    * @author Strawberry 
    *
    */
    public class Test006_UDPServer {	
        public static void main(String[] args) throws IOException {
        //创建服务器DatagramSocket,并指定端口		
        DatagramSocket datagramSocket=new DatagramSocket(8800);		
        //创建数据报,用于接收客户端信息		
        byte[] data=new byte[1024];		
        int count=0;		
        System.out.println("***Server start, waiting data from client..***");		
        //开始接收客户端信息		
           while(true){			
              DatagramPacket datagramPacket=new DatagramPacket(data, data.length);			
              datagramSocket.receive(datagramPacket);//此方法在接收到数据报之前会一直阻塞			
              Test006_ServerThread serverThread=new Test006_ServerThread(datagramSocket, datagramPacket);			
              serverThread.start();			
              count++;			
              System.out.println("client connected:"+count);			
              serverThread.sendData();		
           }				
       //关闭资源
       //datagramSocket.close();	
      }
    }
    /** 
    *  线程处理类 
    * @author Strawberry 
    * 
    */
    public class Test006_ServerThread extends Thread{	
      DatagramSocket datagramSocket=null;	
      DatagramPacket datagramPacket=null;		
      
      public Test006_ServerThread(DatagramSocket datagramSocket,DatagramPacket datagramPacket){				
          this.datagramSocket=datagramSocket;		
          this.datagramPacket=datagramPacket;	
      }	
      
      public void run(){			
          //接收客户端信息			
          byte[] data=datagramPacket.getData();			
          String info=new String(data, 0, datagramPacket.getLength());			
          System.out.println("[Info from client]:   "+info);	
      }	
          
      public void sendData(){		
           //响应客户端信息		
          try {			
              InetAddress address=datagramPacket.getAddress();			
              int port=datagramPacket.getPort();			
              String info2="Login Success!";			
              byte[] data2=info2.getBytes();			
              DatagramPacket datagramPacket2=new DatagramPacket(data2, data2.length, address, port);			
              datagramSocket.send(datagramPacket2);		
          } catch (IOException e) {			
              // TODO Auto-generated catch block			
              e.printStackTrace();		
          }	
      }
    }


    查看全部
  • Socket通信模型
    查看全部
    1 采集 收起 来源:Socket 简介

    2018-06-27

  • url 读取网页数据 最后要关掉3个流<br />
    查看全部
  • /*TCP服务器端*/
    public class Server { 
        public static void main(String[] args) {  
            try {   
                //1.创建一个服务器端Socket,即ServerSocket,指定绑定的端口,并监听此端口   
                ServerSocket serverSocket = new ServerSocket(8888);   
                //2.调用accept()方法开始监听,等待客户端的连接   
                System.out.println("服务器即将启动,等待客户端的连接");   
                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.关闭资源   
                br.close();   
                isr.close();   
                is.close();   
                socket.close();   
                serverSocket.close();  
            } catch (IOException e) {   
                e.printStackTrace();  
            }   
        }
    }
    /*TCP客户端*/
    public class Client { 
        public static void main(String[] args) {  
            try {   
                //1.创建客户端Socket,指定服务器地址和端口   
                Socket socket = new Socket("localhost",8888);   
                //2.获取输出流,向服务器端发送信息   
                OutputStream os = socket.getOutputStream();//字节输出流   
                PrintWriter pw = new PrintWriter(os);//将输出流包装成打印流   
                pw.write("用户名:admin;密码:123");   
                pw.flush();   
                socket.shutdownOutput();//关闭输出流      
                //3.关闭资源   
                pw.close();   
                os.close();   
                socket.close();  
             } catch (UnknownHostException e) {   
                e.printStackTrace();  
             } catch (IOException e) {   
                 e.printStackTrace();  
             } 
        }
    }
    查看全部
  • TCP和UDP编程都用在什么地方? 网络通信,例如QQ客户端和服务器间的通信 TCP是面向连接的、可靠的,如果对通信数据的可靠性要求比较高,确保数据对方可以收到,可以使用TCP UDP是无连接的,在通信前不会预先建立连接,无法保证可靠性,一般用于对数据可靠性要求不是那么高的场合
    查看全部
  • url:统一资源定位符 表示Internet上某一资源的地址 URL 由 协议名称+资源名称 中间冒号隔开 URL -》java.net包
    查看全部

举报

0/150
提交
取消
课程须知
本课程是 Java 开发课程的高级课程,需要对 Java 中的面向对象、IO、多线程,以及网络相关知识有一定的基础
老师告诉你能学到什么?
1、网络相关的基础知识 2、Java 中网络相关 API 的应用 3、实现基于 TCP 的 Socket 编程 4、实现基于 UDP 的 Socket 编程

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!