假期收尾了,学芽子们都军训了。一群张一山和周冬雨在校内晃晃悠悠,说起来春风十里也就军训比较有意思。对于我这种一年追一部剧的人,显然是有点对不住。在我假期任务即将圆满之际,我开始放慢脚步寻找生活的美妙时刻,因为我还是渴望休息的,开学又要有开学的事情做,午休一会都要耍上几把《绝地求生大逃杀》!因为我还没有吃到鸡!·搞计算机的不玩游戏你说你搞不搞笑。咦,其实我也有几个月没玩了哈哈。

  这个胜者吃鸡源于电影《决胜21点》中男主角在赌场常说的一句。“大吉大利,今晚吃鸡!”,而他还有一句话“我的人生观,昨天是历史,明天是个迷”我也很喜欢。

  今天我发现我的学籍异动系统表设计的不太好,为了图方便把通知书表和申请书表给捏到一起了。出了一些麻烦,在软件架构方面我还是着急了,没有好好的全方面的了解这个系统就下手实现,犯了轻敌的错误。

可能最近我比较渴望休息,在技术方面比较浮躁,追求速度了些。反思。

  总结一下前阶段做的传感器接收程序吧。java的,socket和线程结合,http加密发送请求,流的读写和16进制字节码以及log4j等。

  我的程序角色是服务端server,传感器是客户端(每个传感器有各自端口,发送同一个端口的server)。程序启动传感器会根据ip端口连进来,我会定期像它发送16进制指令,把多参数数据读回来取平均值,检查数据是否异常,最后加密发给php网站。

  我们都知道socket的accept是阻塞的方法。如果我去控制server的开关,会有一个大麻烦,就是端口占用问题。java.net.BindException: Address already in use: JVM_Bind,一定要关闭好socketServer和socket。

 public static void socketServerInit(Main main){
Configuration configuration = null;
try {
LOG.info(">>>> 服务器已启动 <<<<");
ss = new ServerSocket();
ss.setReuseAddress(true);
ss.bind(new InetSocketAddress(Main.IpField.getText(),Integer.valueOf(Main.portField.getText())));
LOG.info(">>>> 配置成功,等待连接");
while (true) // 服务器端一直监听这个端口,等待客户端的连接
{
configuration=readConfig(configuration,main);
sk = ss.accept(); // 当有客户端连接时,产生阻塞
LOG.info(">>>> 获取一个连接");
saveConfigToLocal(configuration);
printBhOnView(main,sk,configuration);
LOG.info(">>>>>> 数据接收程序启动 <<<<<<");
SocketServerRun socketServerRun = new SocketServerRun();
socketServerRun.setConfiguration(configuration);
socketServerRun.setServer(ss);
socketServerRun.setSocket(sk);
Thread thread = new Thread(socketServerRun);
thread.start();
// new SocketThread(sk, configuration).start();// 新建一个socketThread处理这个客户端的socket连接
}
} catch (IOException ex) {
ex.printStackTrace();
} finally {
// try {
// if (sk != null) {
// sk.close();
// }
// if (ss != null) {
// ss.close();
// }
// } catch (Exception ex) {
// ex.printStackTrace();
// LOG.error(ex.getMessage());
// }
}
}

  但还有麻烦,我当我连接了一个传感器后开启线程去读数据了,sk = ss.accept()这个代码会再次被执行到,去等下一个传感器。这时候关闭socket的话会报错java.net.SocketException: socket closed。总之很头疼。

 在我的系统可以把它catch掉,然后不管他。但是这么做是不推荐的,等我想到解决办法再更新吧,今天先写到这接下来用到的技术我会挨篇写出。以供参考。

附一张图下章继续讲。

  我没有每天玩喔,下了班之后还是要看王小波的书的。程序虽然很迷人,但我还有我的生活,它是我的一部分。

今天的情诗,就来一首徐志摩的《偶然》吧。来和我大声念(带感情),预备,起。

  我是天空的一片云,

  偶尔投影在你的心波——

  你不必惊讶,

  更无需欢喜——

  在转瞬间消灭了踪影。

  你我相逢在黑夜的海上,

  你有你的,我有我的,方向;

  你记得也好,

  最好你忘掉,

  在这交会时互放的光亮!

大吉大利,晚饭吃鸡!——accept关闭问题的更多相关文章

  1. GMA Round 1 大吉大利,晚上吃鸡

    传送门 大吉大利,晚上吃鸡 新年走亲访友能干点啥呢,咱开黑吃鸡吧. 这里有32个人,每个人都可能想玩或者不想玩,这样子一共有$2^{32}$种可能.而要开黑当然得4人4人组一队(四人模式),所以说如果 ...

  2. [BZOJ5109]大吉大利,晚上吃鸡!

    [BZOJ5109]大吉大利,晚上吃鸡! 题目大意: 一张\(n(n\le5\times10^4)\)个点\(m(m\le5\times10^4)\)条边的无向图,节点编号为\(1\)到\(n\),边 ...

  3. 【BZOJ5109】[CodePlus 2017]大吉大利,晚上吃鸡! 最短路+拓扑排序+DP

    [BZOJ5109][CodePlus 2017]大吉大利,晚上吃鸡! Description 最近<绝地求生:大逃杀>风靡全球,皮皮和毛毛也迷上了这款游戏,他们经常组队玩这款游戏.在游戏 ...

  4. [BZOJ5109][LOJ #6252][P4061][CodePlus 2017 11月赛]大吉大利,今晚吃鸡!(最短路+拓扑排序+传递闭包+map+bitset(hash+压位))

    5109: [CodePlus 2017]大吉大利,晚上吃鸡! Time Limit: 30 Sec  Memory Limit: 1024 MBSubmit: 107  Solved: 57[Sub ...

  5. NC14585 大吉大利,今晚吃鸡

    NC14585 大吉大利,今晚吃鸡 题目 题目描述 糖和抖m在玩个游戏,规定谁输了就要请谁吃顿大餐:抖m给糖a b c三个驻, 并在a柱上放置了数量为n的圆盘,圆盘的大小从上到下依次增大,现在要做的事 ...

  6. 伪装为 吃鸡账号获取器 的QQ木马分析

    本文作者:i春秋作家坏猫叔叔 0×01 起因随着吃鸡热潮的来临,各种各样的吃鸡辅助和账号交易也在互联网的灰色地带迅速繁殖滋生.其中有真有假,也不乏心怀鬼胎的“放马人”.吃过晚饭后在一个论坛看到了这样一 ...

  7. 为什么MOBA、“吃鸡”游戏不推荐用tcp协议——实测数据

    欢迎大家前往云加社区,获取更多腾讯海量技术实践干货哦~ 作者:腾讯云游戏行业资深架构师 余国良 MOBA类和"吃鸡"游戏为什么对网络延迟要求高? 我们知道,不同类型的游戏因为玩法. ...

  8. 3D位置语音,引领吃鸡游戏体验升级

    欢迎大家前往云加社区,获取更多腾讯海量技术实践干货哦~ 作者:腾讯游戏云 导语:在刚刚结束的首届腾讯用户开放日上,腾讯音视频实验室带着3D位置音效解决方案,向所有用户亮相,为用户提供360度立体空间的 ...

  9. 【程序员的吃鸡大法】利用OCR文字识别+百度算法搜索,玩转冲顶大会、百万英雄、芝士超人等答题赢奖金游戏

    [先上一张效果图]: 一.原理: 其实原理很简单: 1.手机投屏到电脑: 2.截取投屏画面的题目部分,进行识别,得到题目和三个答案: 3.将答案按照一定的算法,进行搜索,得出推荐答案: 4.添加了一些 ...

随机推荐

  1. [terry笔记]11gR2_DataGuard搭建_拷贝数据文件

    11gR2搭建dataguard环境: 自己做的实验,后续按照rman模式搭建.主备切换.模式调整等实验会陆续发上来. primary: OS:oel 6.4 database:11.2.0.4.0 ...

  2. 在VS2013中配置QT5 win7_64

    转自 在VS2013中配置QT5 win7_64 环境: win x64 + vs2013+QT5+vs_addin 下面示例正确配置QT以及VS2013 + QT Addin开发环境: 下载VS20 ...

  3. 由动态库文件dll生成lib库文件

    本文基于OpenBlas的编译和安装.来说明怎样从一个dll文件生成lib库文件. 參考OpenBlas的说明"Howto generate import library for MingW ...

  4. linux内核设计的艺术--系统启动第一步

    计算机究竟是如何执行起来的呢,在我学习计算机的时候一直不是非常明确,可是近期借了本<linux内核设计的艺术>算是知道了计算机从按开机到启动操作系统之间究竟做了些什么. 这本书刚開始介绍的 ...

  5. BZOJ 2115 DFS+高斯消元

    思路: 先搞出来所有的环的抑或值 随便求一条1~n的路径异或和 gauss消元找异或和最大 贪心取max即可 //By SiriusRen #include <cstdio> #inclu ...

  6. CUDA笔记(11)

    CUDA提供了一种cudaEvent_t的类型,这种类型Event可以统计GPU上面某一个任务或者代码段的精确运行时间 使用常量内存的光线跟踪器的性能比使用全局内存的性能提升了50% __consta ...

  7. Android框架-Volley(一)

    1. Volley简介 我们平时在开发Android应用的时候不可避免地都需要用到网络技术,而多数情况下应用程序都会使用HTTP协议来发送和接收网络数据.Android系统中主要提供了两种方式来进行H ...

  8. Method Swizzing中一般替换方法都写在Category类别里吗?有没有别的实现方式

    Method Swizzing中一般替换方法都写在Category类别里吗?有没有别的实现方式 Method Swizzing中一般替换方法都写在Category类别里吗?有没有别的实现方式 > ...

  9. LeetCode(6)ZigZag Conversion

    题目如下: C++代码: #include <iostream> #include <string> using namespace std; class Solution { ...

  10. .net Web获取域用户账号

    HttpContext.Current.Request.LogonUserIdentity.Name //可以获取出域账号 HttpContext.Current.Request.LogonUserI ...