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数据报通 ...
随机推荐
- 开源项目:libbpg
1 ubuntu下编译libbpg(编译机器64bit) 安装cmake,libpng,yasm,gcc,g++ cmake版本最低为2.8.8,安装完毕后使用cmake --version查看是否安 ...
- PowerDesigner之PDM检查
一.PDM检查 1.检查项的设置 PDM错误级别分为Error和Warning两种.Error是致命错,一旦发现这类错误,系统会自动CDM生成PDM或者OOM,Warning是警告错误,是系统认为不合 ...
- 014安装Linux系统到开发板
SD卡----->开发板 1.安装准备: 硬件连接 USB下载线,一端连到开发板,另一端连到PC机: 串口线连好: 电源线连好: 设置开发板从SD卡启动: 2.打开开发板进入选单界面: 进入选单 ...
- Linux系统快速启动方案
========================= 基本常识 ========================= Linux系统基本启动流程: 1. CPU从ROM(如果有的 ...
- pap与chap协议
1.pap:直接在网络上发送密码明文 2.chap: 网络上发送的是密码的密文;server给client发一段随机数(challenge),client利用随机数对密码进行加密,将用户名和加密后的密 ...
- 最新百度音乐api
一直都想做网络音乐播放器,但是自己又没有服务器,根本就不能实现,也没那个能力实现.唯一的办法就是借助别人的API. 网上公布的API特别少,像能够直接得到音乐文件的真是地址的几乎没有,有的也只是截取流 ...
- WAMP搭建
win2003Apache+PHP+Mysql+PHPmyadmin 软件版本: Apacheèhttpd-2.2.25-win32-x86-no_ssl.msi php-5.4.3-Win32-VC ...
- C#中常见的委托(Func委托、Action委托、Predicate委托)
今天我要说的是C#中的三种委托方式:Func委托,Action委托,Predicate委托以及这三种委托的常见使用场景. Func,Action,Predicate全面解析 首先来说明Func委托,通 ...
- SublimeText快捷键大全(附GIF演示图)
Sublime Text是码农必备之神器,有助于码农快速开垦,如果掌握了Sublime强大的快捷键就可以飞起来了.下面下载吧小编汇总了SublimeText支持的全部快捷键(适用SublimeText ...
- c语言学习第四天数据类型1
int 代表整数,它在内存中占4个字节,二进制的表示方式是占用了三十二位,二进制中只包含0和1,那它的最大值就是全为1,但int是 有符号类型,所以最高位(左边的第一位)要拿出来做符号位,这样就只 ...