• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

Java网络编程学习

开发技术 开发技术 2周前 (04-08) 7次浏览

1.常用的方法:

  1)IP:InetAddress类,该类无构造器,直接调用静态方法。

  Java网络编程学习

  结果:

  Java网络编程学习

  2)端口:InetSocketAddress类主要用于封装端口,有对应的构造器,需要声明实例化后才可调用。

  Java网络编程学习

  结果:

  Java网络编程学习

 

2.TCP通信

  TCP分为两部分,一部分为Client端,负责发送消息;另一部分为Server端,负责接收消息,二者主要通过socket套接字编程实现。

  Client端:

  1)首先实例化inetAddress对象,通过域名获取对应服务器的IP,同时用户需要了解该服务器的通信端口;

  2)接下来实例化socket对象,输入的参数为步骤1)中获得的IP和端口,与服务器的socket建立通信;

  3)然后通过socket类中的getOutputStream方法获取一个OutputStream数据类型,以此作为发送的消息;

  4)接着用OutputStream的write方法把要发送的消息一byte类型发送出去。

  5)如果不需要继续监听消息和使用socket,则需要依次调用close方法将这些对象关闭,释放资源

  Server端:

  1)首先以特定端口作为输入参数实例化ServerSocket对象,建立socket;

  2)调用ServerSocket的accept方法进入监听消息状态;

  3)通过socket类中的getInputStream方法获取一个InputStream数据类型(变量),以此作为监听到的消息;

  4)建立一个一定大小的byte数组用来作为消息存放的缓冲区;

  5)实例化ByteArrayOutputStream对象用来存储接收的消息;

  6)当确定缓冲区内消息有效后,将消息存放到步骤5)实例化的对象中,并通过数据类型转换将其打印出来;

  7)如果不需要继续监听消息和使用socket,则需要依次调用close方法将这些对象关闭,释放资源

  代码示例:

  Java网络编程学习

  Java网络编程学习 Java网络编程学习

  结果:

  Java网络编程学习

 

3.TCP文件上传

  和TCP消息通信类似,主要用到了FileInputStream和FileOutputStream类。另外图片文件相对较大,输出流和输入流要多次通过缓冲区进行IO读写发送和接收。

  备注:客户端发送完数据后需要通过shutdownOutput()方法来通知服务器端(或直接关闭socket通信),说明消息发送已停止,否则在单线程中,服务器端会一直处于监听的阻塞状态,无法进行下一步。

  代码示例:

  Java网络编程学习 Java网络编程学习

  Java网络编程学习 Java网络编程学习

 

4.UDP消息发送

  和TCP通信不同,UDP协议没有服务器和客户端之分。UDP通信主要通过DatagramSocket类来建立socket连接,然后通过DatagramPacket来构建数据包,最后通过DatagramSocket的accept()和send()方法来实现消息的接收和发送。

  代码实例:

  Java网络编程学习 Java网络编程学习

  结果:

  Java网络编程学习

 

5.聊天实现

  1)实现runnable接口来进行消息接收和发送;

  2)区分好消息的源目的端口和目的IP。

  实例:

  Java网络编程学习 Java网络编程学习

  Java网络编程学习 Java网络编程学习

  Java网络编程学习

  结果:

  Java网络编程学习 Java网络编程学习

 

6.URL下载网络资源

  实例:

  Java网络编程学习


程序员灯塔
转载请注明原文链接:Java网络编程学习
喜欢 (0)