homework-03 扑街。。
1.思路
我的思路是利用进程间通信间来实现题目要求。
第一次打开的程序与第二次打开的程序并不是同一个进程,故需要进程间通信来是传递信息。
windows下进程间通信的方式有很多,如文件映射、共享内存、匿名管道、命名管道等
文件映射能使进程把文件内容当作进程地址区间一块内存那样来对待,是在多个进程间共享数据的非常有效方法。
共享内存是一种特殊的文件映射,共享的数据可以比较大。
匿名管道一般是父子进程间的使用。
命名管道是进程之间通信的单向或双向管道,可用与不相关的进程间通信。
在这次作业的条件下,我觉得命名管道最佳。因为要通信的两个进程并非父子进程,去传输数据较小。
命名管道程序的开发涉及到服务端和客户端两个部分。服务端进程负责创建管道并等待客户端进程连接,在管道创建完成后,客户端可以进行连接并进行通信。
此次作业中只有一个程序,则该程序打开时先认为自己是客户端,去查找该命名管道,发现没有,则变成服务端,创建管道,等待后面的客户端连接。
之后再次打开改程序,这个进程查找命名管道,发现存在,则发送信息(命令行参数),发送完就结束自己。
但是,我发现我使用java实现图形界面的,java居然好像没有命名管道!!!
只能用内存共享尝试。
2.悲剧
图像界面。。。我去宗毅同学寝室串门,看到他实现了这道题目,使用C#写的,他说C#图形界面很简单!
我一排脑瓜,觉得不错,决定也用c#。但我发现我没学过C#。。。
我的结队队友告诉我他会,这让我感到一阵轻松。但是过了几天没良心的队友跑啦!!!他退课了
留下我在风中凌乱。。。去图书馆借C#的书,看的云里雾里,到现在,还是捉急。
后来,只得用Java写。图形界面
然后把原来C++算法部分的代码移植过来。
这还是好实现的。
但是,java的进程间通信让我感到好无力!!
写不下去了。写了一半。
3.反思
我应该用自己熟悉的语言去写的,妄图1天搞定一门语言还是不太现实。
C#真的有点乱。。。
其实说到底还是我有点懒。
下次加油!
homework-03 扑街。。的更多相关文章
- nlp homework 03
NLP Homework 03 --冯煜博 题目描述 (盒子和球模型)假设有3个盒子,每个盒子里装有红白两种颜色的球,盒子里的红白球有下表列出,初始状态分布. 解答 1. 给出HMM模型 \(\mu= ...
- 小兔JS教程(四)-- 彻底攻略JS数组
在开始本章之前,先给出上一节的答案,参考答案地址: http://www.xiaotublog.com/demo.html?path=homework/03/index2 1.JS数组的三大特性 在J ...
- 小兔JS教程(三)-- 彻底攻略JS回调函数
这一讲来谈谈回调函数. 其实一句话就能概括这个东西: 回调函数就是把一个函数当做参数,传入另一个函数中.传进去的目的仅仅是为了在某个时刻去执行它. 如果不执行,那么你传一个函数进去干嘛呢? 就比如说对 ...
- 20181120-6 Beta阶段第2周/共2周 Scrum立会报告+燃尽图 03
此作业要求参见:[https://edu.cnblogs.com/campus/nenu/2018fall/homework/2411] 版本控制地址 [https://git.coding.n ...
- 作业要求20181113-4 Beta阶段第1周/共2周 Scrum立会报告+燃尽图 03
作业要求:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2385 版本控制:[https://git.coding.net/lglr201 ...
- Alpha阶段第2周/共2周 Scrum立会报告+燃尽图 03
此次作业要求参见https://edu.cnblogs.com/campus/nenu/2018fall/homework/2286 Scrum master:范洪达 一.小组介绍 组长:王一可 组员 ...
- 20181016-4 Alpha阶段第1周/共2周 Scrum立会报告+燃尽图 03
此作业链接地址见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2248 Scrum master:王硕 一.小组介绍 组长:王一可 组员 ...
- 20191107-4 beta week 2/2 Scrum立会报告+燃尽图 03
此作业要求参见:https://edu.cnblogs.com/campus/nenu/2019fall/homework/9956 小组名称:“组长”组 组长:杨天宇 组员:魏新,罗杨美慧,王歆瑶, ...
- day33-线程基础03
线程基础03 6.用户线程和守护线程 用户线程:也叫工作线程,当线程的任务执行完或者通知方法结束.平时用到的普通线程均是用户线程,当在Java程序中创建一个线程,它就被称为用户线程 守护线程(Daem ...
- day41-网络编程03
Java网络编程03 5.UDP网络通信编程[了解] 5.1基本介绍 类DatagramSocket 和 DatagramPacket[数据报/数据包]实现了基于 UDP的协议网络程序 UDP数据报通 ...
随机推荐
- Cordova V3.0.0中config.xml配置文件的iOS Configuration
http://www.cnblogs.com/lovecode/articles/3305655.html 轉載這個 <preference> 关于这个标签的可用设置有: Disall ...
- 做好SEO需要掌握的20个基础知识
作为一个网站优化者,有一些基础seo知识点是大家必须要掌握的,网站排名的好快,和这些基础的SEO优化知识有没做好,有没做到位,有着直接的关系!今天,伟伟SEO就把我前面讲的SEO优化基础知识做个总结, ...
- 十、Struts2结果集
十.Struts2结果集 1.Struts.xml配置文件 result元素:指定动作类的动作方法执行完后的结果视图. 属性: name:字符串,与 ...
- javaSE第十天
第十天 57 1. 形式参数和返回值的问题(理解) 57 (1)形式参数: 57 (2)返回值类型: 57 (3)链式编程 57 2. 包(理解) 57 (1)其实 ...
- Visual Studio 中 Tab 转换为空格的设置
Visual Studio 中 Tab 转换为空格的设置 在 Visual Studio 中写代码时,按 Tab 键,会自动进行缩进.有时希望实现按 Tab 键,出现多个空格的效果.Visual St ...
- 无DLL远程注入
界面如下: 主要代码如下: #define STRLEN 20 typedef struct _DATA { DWORD dwLoadLibrary; DWORD dwGetProcAddress; ...
- PHP版实现友好的时间显示方式(例如:2小时前)
完整php类,通常我会配合smary使用,快捷使用 (plugins/function.rdate.php),更多php技术开发就去php教程网,http://php.662p.com <?PH ...
- always pick the choice that scares you a little
“One of my philosophies is to always pick the choice that scares you a little. The status quo, the p ...
- C#操作xml
最进在做一个项目,需要用到xml做配置文件,但是自己忘的差不多了,所以就温习了一遍.以下是我项目中所用到的,所以肯定也不全面. 1.新建xml文件 using System.Xml;//需要引用 st ...
- Filestream读取或写入文件
using System.IO;//引用 System.IO namespace filestream { public partial class Form1 : Form { public For ...