随笔分类 - Java动手做一做之网络编程
摘要:1.关键API java.net包里提供了实现网络应用程序的类。 在Java中,我们可以使用DatagramSocket来创建UDP服务器,使用DatagramPacket来装载接受的数据。 DatagramSocket这个类是用来发送和接收数据包的套接字类。 发送数据包用的方法是: Datagra
阅读全文
摘要:上一篇实现了服务端,本篇主要展示 客户端代码的设计 客户端的代码比较复杂一点,由于P2P中,客户端要二者兼顾。 注意:目前本实例中只实现了消息的传输,但大致框架已定,后面的文件传输很简单了。 废话不多,首先上效果:(由于时间比较紧,只是初步实现了,欢迎大家二次创作,优化加强!!) 项目地址:http
阅读全文
摘要:经过前面一段时间的学习,我们学习到了如何利用Socket实现各种功能。 下面,激动人心的时刻到了。 我们要对前面学习提纯的Demo进行综合利用,做出一款真正的聊天软件,这个聊天软件不仅可以发送消息,也可以发送图片,音频和视频等文件。 而且我们要做出一款P2P的聊天软件,即客户端与客户端的点对点通信,
阅读全文
摘要:实现这一功能的关键点在于 private DataInputStream in = null; // 创建流对象 private DataOutputStream out = null; // 创建流对象 这两个对象的使用,这两个类可以传输任何文件!!! 服务端: package InternetC
阅读全文
摘要:关键点在于使用: private ObjectOutputStream writer; private ObjectInputStream reader; ObjectOutputStream和ObjectInputStream这两个类 具体代码如下: 一共三个类 1.服务端 package Int
阅读全文
摘要:其实道理很简单,如果两个人想顺畅的交流,事先确定好交流的主题就能避免牛头不对马嘴的情况。 这里的主题其实就是:编码格式。 就是服务端和客户端创建writer和out时指定编码格式。 1.服务端代码 package InternetCode.Socket.Exa9; import java.io.*;
阅读全文
摘要:上一节我们仅仅实现了客户端向服务端发送消息,服务端接收并打印出来。 这一节我们来实现客户端和服务器的相互通信。 1.服务器端代码 package InternetCode.Socket.Exa8; import java.io.*; import java.net.*; import java.ut
阅读全文
摘要:本实例实现了服务端通过Socket进行客户端消息的监听,客户端向服务端发送字符串消息。 服务端代码: package InternetCode.Socket.Exa7; import java.io.*; import java.net.*; /** * 通过服务器套接字接收客户端发送的信息 * 注
阅读全文
摘要:Socket分为两种: 服务器ServerSocket和普通Socket,其中服务器Socket用于接收客户端的连接,一般来说,一个服务器套接字可以被多个普通套接字连接。 1.创建服务器ServerSocket等待连接Demo package InternetCode.Socket.Exa6_1;
阅读全文
摘要:1.需求场景 当我们下载文件时由于某种原因中断了连接,导致文件只下载了一部分到本地。 但是我们又不想重新开始下载,现在我们需要继续接着上次中断处继续下载文件。 2.模拟下载不完整的数据 这样的需求很难实现吗?其实不难。 首先为了重现暂停下载的场景,可以用这个方法: 在请求头中加入Range字段,这个
阅读全文
摘要:1.获取网络资源的大小 获取网络资源的大小其实就是根据url建立HTTP连接,然后发出请求得到响应后,从响应报文头中获取Content-Length 这个字段的值。 代码如下: /** * 给定url地址获取资源的大小(以字节为单位) * @param urlStr * @return * @thr
阅读全文
摘要:1.实例代码 如果我们想要确定自己所在的局域网的所有用户,我们可以通过这种方式获取: 步骤如下: 首先获取本机地址,截取自己所在的网段 然后调用系统命令 ping ip -w 280 -n 1(其中ip是变量)根据返回的结果来判断ip是否可通行 如果可通信,将其添加到ip列表中。 package I
阅读全文
摘要:1.如何实现 通过域名获取ip,通过ip获取域名,还是通过InetAddress这个类来实现的,代码如下。 public static void main(String[] args) throws UnknownHostException { //通过域名获得ip地址 String domain=
阅读全文
摘要:1.如何在程序中获取本机的IP地址,主机名以及域名呢? 在java中,我们可以利用java.net.InetAddress这个类来实现。 InetAddress 类提供了操作 IP 地址的各种方法。该类本身没有构造方法,而是通过调用相关静态方法获取实例。 InetAddress类常用方法如下: //
阅读全文