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

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

难度初级
时长 2小时 0分
学习人数
综合评分9.77
496人评价 查看评价
9.9 内容实用
9.8 简洁易懂
9.6 逻辑清晰
  • 服务器端

    查看全部
  • ServerScoket serviceScoket= new ServerScoket(8088);
    while(true){
    Scoket scoket = serviceScoket.accept();
    ScoketServerThread thread = new ScoketServerThread(scoket);
    thread.setPriority(4);//设置线程优先级 默认为5
    thread.start();
    }


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

    2018-04-11


  • InetAddress address=packet.getAddress();

    int port=packet.getPort();

    byte[] data2="欢迎您!".getBytes();


    //2.创建数据报,包含响应的数据信息

    DatagramPacket packet2=new DatagramPacket(data2, data2.length, address, port);

    //3.响应客户端

    socket.send(packet2);

    //4.关闭资源

    socket.close();


    查看全部
  • 客户端

    查看全部
  • 服务器端

    查看全部
  • Socket通信模型

    查看全部
    0 采集 收起 来源:Socket 简介

    2018-04-03

  • 读取数据有很多种方法,各有各的特点

    比如说字节流中,InputStream是最基本的,FileInputStream用来读取文件,DataInputStream适用于读取各种类型的数据,BufferedInputStream加缓冲可以提高IO性能

    字符流中也有相应的类,InputStreamReader,FileReader,BufferedReader

    其中BufferedReader有一个方法readLine(),可以一行一行读取,这个方法其他的都没有,使用起来比较方便

    再看它的构造方法,需要传入Reader类型的参数,那么就必须再它前面new一个InputStreamReader,所以需要把字节流转换成字符流

    如果不转换也可以,直接使用InputStream或者BufferedInputStream,一个字节一个字节读,或定义数组一些字节一些字节一起读,都可以,只不过没有一行一行读方便


    查看全部
  • try...catch... 只是捕获自己想要的异常,并且可以避免程序的出错,throws只是抛出异常,然后出现异常就会程序报错,一般比如说你想要catch到一些比如说时间日期格式错误之类的,可以catch到信息中提示格式不正确,用throws就不会知道这个异常的具体内容,只会显示程序报错。


    获取网页内容的方法:<br> 1.new InputStream创建一个输入流<br> 2.new InputStreamReader创建一个字节流<br> 3.new BufferedReader创建一个字符流将字节流转换为字符流 4.调用字符流的readLine(读取一行)方法获取网页内容,只要读取到的内容不为空,就一直读取。最后输出网页内容。

    查看全部
  • 网络通信


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

    2018-04-02

  • Socket编程学习框架

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

    2018-03-29

  • while(true) {

          Thread  thread=new Thread(new UDPServerThread(socket,data));

           thread.start();

           try {

    thread.sleep(500);

                           //线程的run方法中无死循环,在main方法中开启线程//并放入死循环中,若不加sleep方法,则警告线程无法正确启动

    } catch (InterruptedException e) {

    // TODO Auto-generated catch block

    e.printStackTrace();

    }

          }

    [2.321s][warning][os,thread] Failed to start thread - _beginthreadex failed (EACCES) for attributes: stacksize: default, flags: CREATE_SUSPENDED STACK_SIZE_PARAM_IS.

    Exception in thread "main" ????????????????????????

    package com.one;


    import java.io.IOException;

    import java.net.DatagramPacket;

    import java.net.DatagramSocket;

    import java.net.InetAddress;

    import java.net.SocketException;


    public class UDPServerThread implements Runnable{

      

    private  byte []data=null;

        private DatagramSocket socket;

    public UDPServerThread(DatagramSocket socket,byte []data) {

    this.data=data;

    this.socket=socket;

    }


    @Override

    public void run() {

    DatagramPacket packet=new DatagramPacket(data, 0, data.length);

        try {

    socket.receive(packet);

    } catch (IOException e) {

    // TODO Auto-generated catch block

    e.printStackTrace();

    }

        //4.打印输出客户端发送的数据

        String s=new String(data, 0, packet.getLength());

        System.out.println("我是服务器,客户端说:"+s);

        

        /*

         * 向客户端响应数据

         */

      int port=packet.getPort();

      InetAddress address=packet.getAddress();

      byte []data2="欢迎你".getBytes();

        DatagramPacket packet1=new DatagramPacket(data2, 0, data2.length, address, port);

        try {

    socket.send(packet1);

    } catch (IOException e) {

    // TODO Auto-generated catch block

    e.printStackTrace();

    }

    }

    }


    查看全部
  • 应用多线程实现服务器与多客户端之间的通信

    查看全部
  • Socket通讯模型

    查看全部
    0 采集 收起 来源:Socket 简介

    2018-03-28

  • 客户端

    查看全部
  • 服务器端

    查看全部

举报

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

微信扫码,参与3人拼团

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

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