现在的位置: 首页 > 综合 > 正文

局域网电报系统

2013年03月28日 ⁄ 综合 ⁄ 共 822字 ⁄ 字号 评论关闭

    对 Socket 编程略有所闻,但一直不知道是怎么回事。这周抽空研究了几天,同时熟悉了一下c++函数,最终生硬地凑了个局域网传输系统,附带morse code与English的互译功能。权当练练手吧!

    程序功能最初是这样设想的:服务端与客户端相互发送莫尔斯电码,接收端负责将莫尔斯电码翻译为自然语言。

    翻译莫尔斯电码并不难,只要摸清了莫尔斯的规则就基本完成了。(注:本程序采用的是国际莫尔斯。)我没有多想,用了最自然也最笨的方法:字符串比较strcmp。后来在与朋友的交流中发现其实莫尔斯电码有设计规律,利用其规律可以大大缩短代码段(难怪我的代码那么臃肿了!好的程序员不是蛮干,而是多想)。

    在编写的进程中越来越觉得,仅实现最初的设想总像少了什么。问题一:如果用户不是发送即时电报呢?用户可能之前已经写好了电报并保存,那么应该加一个功能,允许用户直接发送存盘的文件,而不是重新打出。问题二:一定要只能发送莫尔斯电码吗?如果也可以发送自然语言会更方便了。随之便引出了问题三:接收端如何处理接收的信息?因为发送端可能发送莫尔斯电码也可能发送自然语言。那么应该加一个函数处理接收数据流,判断是何种语言。这样以来,翻译函数应该是两种了,即从莫尔斯电码至自然语言,和自然语言至莫尔斯。另外,还要考虑到是翻译message(适时发送)还是file(存盘文件)。最终实现的功能也就大致如此了。

    研究socket花了我很多时间,而且至今仅略微有所了解。相比一同学习的众朋友,自感对新知识的接收能力太差,理解得太慢,而且缺乏编程经验,遇到问题不知如何入手,浪费时间。另外,没有将所学用于实际的习惯,一旦实战脑子里便一片空白,又得大量查阅资料。各项素质都亟待提高啊!重归编程之路这几天感觉挺好的,周围都是热衷于编程的人,与志同道合的人在一起的感觉就是不一样。最后得多说一句,如果被踢出来也无所谓了,至少待这段时间肯定会强制学到不少东西!慢慢成长吧!

抱歉!评论已关闭.