首页 » 软件开发

TCP/UDP网络编程入门教程之九:win32下使用socket——WinSock

       学习socket最好能有两台以上联网的电脑,以及能获得公网IP的网络接入方式。接下来的教程我会兼顾winsock的代码,这主要是因为winsock本身对socket几乎是兼容的。所以,这里有必要先说明在VC环境中使用socket的一些简单设置,以及与Linux环境下的细微差别。本文使用的VC环境是2008 Express。阅读全文 »

2015年8月11日
作者:鸡啄米 分类:软件开发 浏览: 评论:0

TCP/UDP网络编程入门教程之八:TCP Server端——本部分完整源代码

       本文提供前面教程的完整源代码。阅读全文 »

2015年8月11日
作者:鸡啄米 分类:软件开发 浏览: 评论:1

“三遍读书法”自学编程

       本文译自一老外编程学习者的文章,其经验值得大家借鉴。 我大学本科念的是电子工程专业,所以到那个时候为止,我唯一使用过的编程语言就是C/C++、Assembly、以及 Matlab。后来一个偶然的机会我参加了一个“周末创业”的活动,并且开始渐渐对软件开发和计算机科学感兴趣,然后我发誓我要不择手段地进入这个洋溢着无限魅力的领域。阅读全文 »

2015年8月5日
作者:鸡啄米 分类:软件开发 浏览: 评论:4

算法书推荐——助程序员提升内功的好书

       近期积攒了好多好的书讯迫不及待的要向大家推荐,现在就从算法图书开始吧~其实图灵的算法书不多,但是各有特色,深受读者欢迎,今天就说8本,加1本外卖。 入门第一书,你一定能看懂 《啊哈!算法》 没有枯燥的描述,没有难懂的公式,一切以实际应用为出发点,通过幽默的语言配以可爱的插图来讲解算法。阅读全文 »

2015年8月5日
作者:鸡啄米 分类:软件开发 浏览: 评论:1

TCP/UDP网络编程入门教程之七:TCP Server端——接收与发送

       现在,我们通过accept()创建了新的socket,也就是我们类中的数据成员communicationSock,现在,我们就可以通过这个socket进行通讯了。 TCP通讯模型 在介绍函数之前,我们应该了解一些事实。TCP的Server/Client模型类似这样:ServApp——ServSock——Internet——ClntSock——ClntApp阅读全文 »

2015年7月24日
作者:鸡啄米 分类:软件开发 浏览: 评论:0

TCP/UDP网络编程入门教程之六:TCP Server端——创建“通讯”嵌套字

       这里的“通讯”加上了引号,是因为实际上所有的socket都有通讯的功能,只是在我们的例子中,之前那个socket只负责listen,而这个socket负责接受信息并echo回去。 用accept()创建新的socket 在我们的例子中,communicationSock实际上是用函数accept()创建的。阅读全文 »

2015年7月16日
作者:鸡啄米 分类:软件开发 浏览: 评论:1

程序员修炼指南——引导你成为真正的编程高手

       你是否觉得自己从学校毕业的时候只做过小玩具一样的程序?走入职场后哪怕没有什么经验也可以把以下这些课外练习走一遍(朋友的抱怨:学校课程总是从理论出发,作业项目都看不出有什么实际作用,不如从工作中的需求出发) 建议: 不要乱买书,不要乱追新技术新名词,基础的东西经过很长时间积累而且还会在未来至少10年通用。阅读全文 »

2015年6月25日
作者:鸡啄米 分类:软件开发 浏览: 评论:7

TCP/UDP网络编程入门教程之五:TCP Server端——创建监听嵌套字

       前面一小节,我们已经写出了TcpServer的构造函数。这个函数的实际作用,就是创建了listen socket(监听嵌套字)。这一节,我们来具体分析这个创建的过程。 socket和sockaddr的创建是可以相互独立的 在函数中,我们首先通过socket()系统调用创建了listenSock,然后通过为结构体赋值的方法具体定义了服务器端的sockaddr。阅读全文 »

2015年6月19日
作者:鸡啄米 分类:软件开发 浏览: 评论:1

TCP/UDP网络编程入门教程之四:TCP Server端——构造函数涉及的概念

       话题回到“黑社会办公室”的例子,讲概念已经扯得比较远了,不过,这一节我们还得讲概念,不过好在有些程序的例子。如果大家不想翻回去看TcpServer类的原型,我这里直接给出这个头文件的完整源代码:... 我们已经解释了为什么listenSock和communicationSock的类型是int,以及sockaddr_in是什么结构,现在来写这个类的构造函数阅读全文 »

2015年6月4日
作者:鸡啄米 分类:软件开发 浏览: 评论:1

设计模式与追妹子(23种设计模式巧妙解析,趣味理解)

       本文用轻松的语言,形象解释了 23 种模式,有很好的启发作用。 创建型模式 1、FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory。阅读全文 »

2015年5月29日
作者:鸡啄米 分类:软件开发 浏览: 评论:2

C++指针和引用的区别终极详解

       指针和引用形式上很好区别,但是他们似乎有相同的功能,都能够直接引用对象,对其进行直接的操作。但是什么时候使用指针?什么时候使用引用呢?这两者很容易混淆,在此我详细介绍一下指针和引用,力争将最真实的一面展现给大家。如果我喷得不够好,希望嘴下留情、手下留命,还请指点一二;如果感觉还不错,请大家鼓掌。阅读全文 »

2015年5月29日
作者:鸡啄米 分类:软件开发 浏览: 评论:1

TCP/UDP网络编程入门教程之三:TCP Server端——sockaddr与sockaddr_in

       一家化妆品公司将一批新产品的样品,准备发给某学校某个班的女生们免费试用。通常情况下,这件邮包的地址上可以这么写: 收件人:全体女生。 地址:A省B市C学校,X级Y班。 但是,如果在描述地址的时候这样写呢: 收件人:全体女生。 地址:请打电话xxxxxxxx,找他们学校一个叫Lucy的女生,然后把东西送到她的班上。阅读全文 »

2015年5月25日
作者:鸡啄米 分类:软件开发 浏览: 评论:3

TCP/UDP网络编程入门教程之二:TCP Server端——socket与文件描述符

       UNIX中的一切事物都是文件(everything in Unix is a file!)        当我在这篇教程中提到UNIX的时候,其意思专指符合UNIX标准的所谓“正统”UNIX的衍生系统(其实我就用来带指那些买了最初UNIX源代码的商业系统)操作系统和类似Linux,BSD这些类UNIX系统。阅读全文 »

2015年4月29日
作者:鸡啄米 分类:软件开发 浏览: 评论:3

TCP/UDP网络编程入门教程之一:TCP Server端——建模

       绝大部分关于socket编程的教程总是从socket的概念开始讲起的。要知道,socket的初衷是个庞大的体系,TCP/IP只是这个庞大体系下一个很小的子集,而我们真正能用上的更是这个子集中的一小部分:运输层(Host-to-Host Transport Layer)的TCP和UDP协议,以及使用这两个协议进行应用层(Application Layer)的开发。阅读全文 »

2015年4月14日
作者:鸡啄米 分类:软件开发 浏览: 评论:4

PHP学习之道:PHP开发好书推荐

       PHP以其简单易学的特点,以及敏捷开发的优势,从一个几乎不为人知的开源项目,慢慢成长为技术人员首选的动态Web设计工具。下面推荐几本个人感觉较为不错的PHP学习书籍,供大家参考。 《PHP基础教程(第4版)》 这是我读的第一本有关PHP的书,书中内容相对简单,但可以对PHP有一个大概的认识,方便以后的学习。阅读全文 »

2015年4月8日
作者:鸡啄米 分类:软件开发 浏览: 评论:1

程序员成为高手的十条心得

       在这个世界上,有数百万的人热衷于软件开发,他们有很多名字,如:软件工程师(Software Engineer),程序员(Programmer),编码人(Coder),开发人员(Developer)。经过一段时间后,这些人也许能够成为一个优秀的编码人员,他们会非常熟悉如何用计算机语言来完成自己的工作。但是,如果你要成为一个优秀的程序员,有几件事你需要注意。阅读全文 »

2015年3月24日
作者:鸡啄米 分类:软件开发 浏览: 评论:4

使用事件驱动模型构建高效稳定的网络服务器程序

       本文围绕如何构建一个高效稳定的网络服务器程序,从一个最简单的服务器模型开始,依次介绍了使用多线程的服务器模型、使用非阻塞接口的服务器模型、利用select()接口实现的基于事件驱动的服务器模型,和使用libev事件驱动库的服务器模型。通过比较各个模型,得出事件驱动模型更适合构建高效稳定的网络服务器程序的结论。阅读全文 »

2015年3月11日
作者:鸡啄米 分类:软件开发 浏览: 评论:0

C++学习攻略--怎样学好C++语言

       之前发过一篇C语言要这样才能学好,本文来讲讲怎样学好C++。我把我个人的一些学习经验写在这里,希望对大家有用。首先,因为如何学好C语言中谈到了算法和系统,所以这里就只谈C++语言。 C++是最难的语言。 这个世界上最难的编程语言可能非C++莫属了。阅读全文 »

2015年3月4日
作者:鸡啄米 分类:软件开发 浏览: 评论:1

CSS强制换行(word-wrap和word-break)

       强制换行与强制不换行问题曾经一度困扰着我,每当遇到换行问题时候那就是痛苦回忆的开始,现在终于痛定思痛,一鼓作气把这个长期顽固问题给解决。 强制换行与强制不换行用到的属性 我们一般控制换行所用到的CSS属性一共有三个:word-wrap; word-break; white-space。这三个属性可以说是专为了文字断行而创造出来的。阅读全文 »

2015年2月28日
作者:鸡啄米 分类:软件开发 浏览: 评论:0

Javascript怎样进行HTML转义

       众所周知页面上的字符内容通常都需要进行HTML转义才能正确显示,尤其对于Input,Textarea提交的内容,更是要进行转义以防止javascript注入攻击。 通常的HTML转义主要是针对内容中的"<",">","&",以及空格、单双引号等。但其实还有很多字符也需要进行转义。阅读全文 »

2015年2月27日
作者:鸡啄米 分类:软件开发 浏览: 评论:1