摘要: 接(原创)小程序设计(二)一起来聊天吧! 最终效果图(左一:主机2(客户端1)、中:主机1(服务器、客户端2)、右1:主机1分屏(客户端3)) 客户端1: 客户端2: 客户端3: 服务器输出: 相关代码已上传至github。 阅读全文
posted @ 2018-05-12 19:26 BigJunOba 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 又过了一天,迎来了周末,然而本人仍然心心念念着如何对代码进行更加详细的测试,于是就吃完中午饭马上跑来实验室用媳妇儿的电脑进行测试了。 主要测试的预期就是,两台电脑之间运行代码后能够聊天,本来以为很简单呢,谁知道到处是坑,于是就费了好几个小时不断出现问题然后解决问题,不断出现bug然后分析代码,对代码 阅读全文
posted @ 2018-05-12 19:24 BigJunOba 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 最近由于项目需要接触了一些网络编程方面的东西,也理解了IP地址的一些操作、TCP套接字操作和UDP数据包操作。其中用的最多的当然是TCP套接字了,为了根据实例程序进行更好的学习,特地学习了《Java程序设计 慕课版》这本书有关网络程序设计的网络聊天室案例,这个案例程序在之前的博客里也有写到,有兴趣的 阅读全文
posted @ 2018-05-11 16:28 BigJunOba 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 一、基础知识 1.TCP:传输控制协议。 2.UDP:用户数据报协议。 二、IP地址封装 1.InetAddress类的常用方法 2.示例1:测试IP地址从“192.168.131.1”到“192.168.131.150”范围内所有可以访问的主机的名称,如果对方没有安装防火墙,并且网络连接正常的话, 阅读全文
posted @ 2018-05-09 21:27 BigJunOba 阅读(3863) 评论(0) 推荐(1) 编辑
摘要: 一、IP InetAddress类有一些静态工厂方法,可以连接到DNS服务器来解析主机名。 示例1:InetAddress address = InetAddress.getByName("www.baidu.com");会建立一个与本地DNS服务器的一个连接,来查找域名和IP地址。 示例2:查找本 阅读全文
posted @ 2018-05-09 15:06 BigJunOba 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 一、进程产生的方式 1.描述进程的ID号通常叫做PID,即进程ID,PID的变量类型为pid_t。 2.getpid(void)返回当前进程的ID号,getppid(void)返回当前进程的父进程的ID号。 3.fork()函数以父进程为蓝本复制一个进程,其ID号和父进程ID号不同,父进程中返回的是 阅读全文
posted @ 2018-05-07 10:06 BigJunOba 阅读(304) 评论(0) 推荐(0) 编辑
摘要: 1.Vim编辑器分为普通模式和插入模式,普通模式是命令模式,插入模式是编辑模式。 2.使用Vim建立一个hello.c的新文件:vim hello.c 3.普通模式下,使用h、j、k、l分别对应左、下、上、右。 4.普通模式下,将光标移到需要删除的字符上面然后按x键可以删除一个字符。 5.普通模式下 阅读全文
posted @ 2018-05-07 09:10 BigJunOba 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 一、线程的状态 线程对象在不同的运行时期有不同的状态,状态信息就存在于State枚举类中。 调用与线程有关的方法后,会进入不同的线程状态,这些状态之间某些是可双向切换的,比如WAITING和RUNNING状态之间可以循环地进行切换;而有些是单向切换的,比如线程销毁后并不能自动进入RUNNING状态。 阅读全文
posted @ 2018-05-04 16:45 BigJunOba 阅读(612) 评论(0) 推荐(0) 编辑
摘要: 在使用多线程技术的单例模式时会出现一些意想不到的情况,这样的代码如果在生产环境中出现异常,有可能造成灾难性的后果。 一、立即加载/“饿汉模式” 立即加载就是使用类的时候已经将对象创建完毕,常见的实现方法就是直接new实例化。立即加载/“饿汉模式”是在调用方法前,实例已经被创建了。 示例:从输出结果可 阅读全文
posted @ 2018-05-04 16:40 BigJunOba 阅读(428) 评论(0) 推荐(0) 编辑
摘要: 一、定时器Timer的使用 在JDK库中Timer类主要负责计划任务的功能,也就是在指定的时间开始执行某一个任务。Timer类的主要作用就是设置计划任务,但封装任务的类确实TimerTask类,执行计划任务的代码要放入TimerTask类的子类中,因为TimerTask是一个抽象类。 1.方法sch 阅读全文
posted @ 2018-05-04 16:37 BigJunOba 阅读(459) 评论(0) 推荐(0) 编辑