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

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

难度初级
时长 2小时 0分
学习人数
综合评分9.77
496人评价 查看评价
9.9 内容实用
9.8 简洁易懂
9.6 逻辑清晰
  • TCP/IP模型
    查看全部
    0 采集 收起 来源:网络基础简介

    2017-09-28

  • 应用多线程来实现服务器与多客户端之间的通信 基本步骤 1.服务器端创建ServerSocket,循环调用accept()等待客户端连接 2.客户端创建一个socket并请求和服务器端连接 3.服务器端接收客户端请求,创建socket与该客户建立专线连接 4.建立连接的两个socket在一个单独的线程上对话 5.服务器端继续等待新的连接 ---------------------------------------------- 服务器线程处理类 public class ServerThread extends Thread { //和本线程相关的socket Socket socket=null; public ServerThread(Socket socket) { this.socket=socket; } //线程执行的操作,响应客户端的请求 public void run() { //获取输入流,并读取客户端信息 //获取输出流,反馈信息给客户端 } } --------------------------- 服务器的修改 Socket socket=null; //记录客户端的数量 int count=0; //循环监听等待 while(true) { //调用accept()方法开始监听,等待客户端的连接 socket=serverSocket.accept(); //创建一个新的线程 ServerThread serverThread=new ServerThread(socket); //启动线程 serverThread.start(); count++; System.out.println(count); //获取当前客户端的IP InetAddress address=socket.getInetAddress(); System.out.println("当前客户端的IP:"+address.getHostAddress()); }
    查看全部
  • URL url = new URL("www.baidu.com"); InputStream is = url.openStream(); InputStreamReader isr = new InputStreamReader(is); BufferedReader br = new BufferedReader(isr); String data = br.readline();
    查看全部
  • 端口: 1、用于区分不同应用程序 2、端口号范围是0~65535,其中0~1023为系统保留 3、IP 地址和端口号共同组成了所谓的 Socket,Socket 是网络上运行的程序之间双向通信链路的终结点,是 TCP 和 UDP 的基础 4、常用的端口号: http:80 ftp:21 telnet:23
    查看全部
    0 采集 收起 来源:网络基础简介

    2017-09-25

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

    2017-09-18

  • UDP编程-服务器向客户端响应数据(与客户端向服务器发送数据类似) 1、定义客户端的地址、端口号、数据。通过DatagramPacket的.getAddress()方法获取客户端的地址,通过.getPort()方法获取端口号。 2、创建数据报DatagramPacket,包含响应的数据信息。 3、响应客户端。调用DatagramSocket的.send()方法。 4、关闭资源 UDP编程-客户端接受服务器端响应的数据 1、创建数据报DatagramPacket,用于接受服务器端响应的数据。首先创建一个字节数组。 2、接受服务器端响应的数据。调用DatagramPacket的.receive()方法。 3、读取数据。将字节数组转变为字符串。 4、关闭资源。
    查看全部
  • 向服务器端发送数据 //1.定义服务器的地址、端口号、数据 InetAddress address=InetAddress.getByName("localhost"); int port=8800; byte[] data="用户名:admin;密码:123".getBytes(); //2.创建数据报,包含发送的数据信息 DatagramPacket packet=new DatagramPacket(data, data.length, address, port); //3.创建DatagramSocket对象 DatagramSocket socket=new DatagramSocket(); //4.向服务器端发送数据报 socket.send(packet); 接收客户端发送的数据 //1.创建服务器端DatagramSocket,指定端口 DatagramSocket socket=new DatagramSocket(8800); //2.创建数据报,用于接收客户端发送的数据 byte[] data =new byte[1024];//创建字节数组,指定接收的数据包的大小 DatagramPacket packet=new DatagramPacket(data, data.length); //3.接收客户端发送的数据 System.out.println("****服务器端已经启动,等待客户端发送数据"); socket.receive(packet); //4.读取数据 String info=new String(data, 0, packet.getLength()); System.out.println("我是服务器,客户端说:"+info);
    查看全部
  • 基于面向对象的思想,可以将用户的信息封装成一个类,使用网络传递的将是用户类。
    查看全部
    0 采集 收起 来源:Socket 总结

    2017-09-18

  • 使用多线程编写网络程序时,需要将优先级降低,优先级默认是五,降低到4.这是老师工作的经验
    查看全部
    0 采集 收起 来源:Socket 总结

    2017-09-18

  • 在最后直接关闭socket即可,socket的关闭会自动的关闭输入输出流
    查看全部
    0 采集 收起 来源:Socket 总结

    2017-09-18

  • 服务器端 1.创建DatagramSocket,指定端口号 2.创建DatagramPacket 3.接收客户端发送的数据信息 4.读取数据 ----------------------------------- 客户端实现步骤 1.定义发送信息 2.创建DatagramPacket,包含将要发送的信息 3.创建DatagramSocket 4.发送数据
    查看全部
  • 客户端 1.创建客户端Socket,指定服务器地址和端口 Socket socket=new Socket("IP地址","端口号"); 2.获取输出流,向服务器发送信息 OutputStream os=socket.getOutputStream();//字节输出流 PrintWriter pw=new PrintWriter(os);//将输出流包装为打印流 pw.write("用户名:admin;密码:123"); pw.flush(); socket.shutdownOutput();//关闭输出流 //关闭相应的资源 pw.close(); os.close(); socket.close();
    查看全部

举报

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

微信扫码,参与3人拼团

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

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