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

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

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

    2015-10-21

  • socket编程传递文件
    查看全部
    0 采集 收起 来源:Socket 总结

    2015-10-20

  • 使用TCP通信传输对象.
    查看全部
    0 采集 收起 来源:Socket 总结

    2015-10-20

  • 对于同一个socket,如果关闭了输出流,则与该输出流关联的socket也会被关闭,所以一般不用关闭流,直接关闭socket即可
    查看全部
    0 采集 收起 来源:Socket 总结

    2015-10-20

  • 多线程的优先级 一个服务器端运用多线程同时与多个客户端进行通信,最好设置优先级,未设置优先级可能会导致运行时速度非常慢,可降低优先级.
    查看全部
    0 采集 收起 来源:Socket 总结

    2015-10-20

  • 基于UDP的Socket通信(客户端) 1.定义服务器的地址、端口号、数据 InetAdderss address=InetAddress.getByName("localhost"); //因为现在服务器与客户端地址都是本机. int port=8800; //设置要发送去8800这个端口号的服务器,必须要与服务器的端口号相同. byte []date="用户名:admin 密码:133".getBytes(); //用getBytes()方法把字符串转为字节数组里. 2.创建数据报,包含发送的数据信息. DatagramPacket packet=new DatagramPacket(data,data.length,address,port); //调用DatagramPacket的4个参数的构造方法. 3.创建DatagramSocket对象 DatagramSocket socket=new DatagramSocket(); //不需要参数 4.向服务器端发送数据报 socket.send(packet); //通过DatagramSocket的send()方法把数据报发送去服务器,参数是数据报. 客户端接收服务器端响应的数据. 1.创建数据报,用于接收服务器端响应数据. byte []data2=new byte[1024]; DategramPacket packet2=new DatagramPacket(data2.data2.length); 2.接收服务器端响应的数据 socket.receive(packet2); 3.读取服务器端响应的数据. String reply=new String(date2,0,packet.getLength()); System.out.println("我是客户端,服务器说"+reply); 4.关闭资源. socket.close() //关闭此套接字.
    查看全部
  • 基于UDP的Socket通信.(服务器端) 接收客户端的信息 1.先创建服务器端DatagramSocket,参数指定端口. DategramSocket socket=new DatagramSocket(8800); 2.创建数据报,用于接收客户端发送的数据. 先创建字节数组存放数据. byte []data=new byte[1024]; DategramPacket packet=new DatagramPacket(data,data.length); 3.接收客户端发送的数据 socket.receive(packet) //receive()方法用于接收数据存放在数据报中,参数为数据报DatagramPacket的实例. String info=new String(data,0,packet.getLength()); //getLength()方法可以获取数据报的长度. 向客户端响应数据 1.定义客户端的地址、端口号、数据(通过客户端传来的数据的所存放的DatagramPacket的实例获取) InetAddress address=packet.getAddress(); //从服务器端存放客户端的数据报中获取客户端的地址,通过getAddress()方法. int port=packet.getPort(); //通过getPort()方法获取客户端的端口. byte [] data2="欢迎你".getBytes(); //把字符串转为字节数组 2.创建数据报,包含响应的数据信息 DatagramPacket packet2=new DatagramPacket(data2,data2.length,address,port) 3.响应客户端 socket.send(packet2); //把服务器端要进行响应的数据报发送给客户端,不需要创建新的DatagramSocket对象,一个即可. 4.关闭资源. socket.close() //关闭此套接字.
    查看全部
  • Socket通信模型
    查看全部
    0 采集 收起 来源:Socket 简介

    2015-10-20

  • 速度较快.
    查看全部
    0 采集 收起 来源: DatagramPacket

    2015-10-19

  • UDP编程 基于UDP的Socket通信 DatagramPacket:表示数据报包. DatagramSocket:进行端到端通信的类 UDP通信时传递数据是以是字节的形式传送,因为DatagramPacket的构造方法都是以字节数组的形式.所以要把传送的数据转为字节数组里传送. 而TCP则是字节或者字符都可以.
    查看全部
    0 采集 收起 来源: DatagramPacket

    2015-11-15

  • 创建一个线程类继承于Thread类 1.在类中创建和本线程相关的Socket(Socket socket=null;),并在构造方法中初始化.为了把服务器端从客户端接监听到的Socket实例传到线程类里. 2.在线程类重写run()方法,就是服务器类读取和写入具体要做的事情. 3.在线程类中关闭各种相关的流 在服务器中 在SocketServer类中则需要创建一个SocketServer的实例.然后循环调用accept方法来监听客户端.通过死循环来不断监听. int count; //用来记录客户端的数量. while(true){ Socket socket=socketserver.accept(); ServerThread serverThread=new ServerThread(socket) //把服务器端监听到客户端返回的socket实例传递给线程类,通过线程类来进行相关的响应. serverThread.start(); //调用线程类的start()方法运行线程 count++; InetAddress address=socket.getInetAddress(); System.out.println("当前客户端的IP:"+address.getHostAddress()); //获取当前客户端的IP地址. }
    查看全部
  • Java中的变量分为局部变量和全局变量,局部变量就是在方法中声明的变量,而全局变量就是在类中声明的变量,在java中有这么一条规则,声明在方法中的变量在使用时必须要初始化(注意这里是使用时,如果不使用的话,你也可以不赋值,但是一般变量声明了之后都是要使用的,所以你最好初始化),否则不能通过编译
    查看全部
  • 应用多线程来实现服务器与多客户端之间的通信.
    查看全部
  • 客户端 1.创建客户端Socket对象与服务器端进行通信,指定服务器地址和端口. 2.获取输出流,向服务器端发送信息.通过Socket的getOutputStream()方法返回一个OutputStream字节输出流的引用对象.再把字节输出流转换为打印流,OutputStream->PrintWriter. PrintWriter(),的构造方法可以是OutputStream的引用对象.调用PrintWriter的writer()方法写入字符串(传送的信息),参数是字符串.再调用PrintWriter的flush()方法来刷新缓冲. 3.通过Socket的shutdownOutput()方法来关闭输出流. 4.通过Socket的getInputStream()方法获取字节输出流来读取服务器端对客户端的响应信息,把输出字节流转为带缓冲的字符流,InputStream->InputStreamReader->BufferedReader.通过while循环读取信息,String string=isr.readLine();while(!string=null){System.out.println(string); string=isr.readLine(); } 5.关闭相关资源(关闭OutputStream、PrintWriter、Socket),用close();不需要用shutdownInput()方法来关闭输入流,因为客户端只是建立了输出流来传递信息给服务器端. Socket的close()方法是关闭此套接字 套接字的理解: 你打电话需要有电话或手机吧?套接字就是手机。 你打的,你就是主叫方,对方就是被叫方。那么你需要一个Socket,对方需要一个ServerSocket。 被叫方有多个号。他得选中一个号工作,这叫绑定。在套接字上,是绑定到端口。 对方需要开机才能接听电话。那他就得先侦听。ServerSocket的accept()就是开始侦听,并有来电时接听。
    查看全部

举报

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

微信扫码,参与3人拼团

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

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