首页 » 软件开发

TCP/UDP网络编程入门教程之十二:TCP原理——设计TCP socket的类(上)

       我们之前讲过,socket是一个int的文件描述符(WinSock中直接是一种抽象的描述符),我们通过对这个描述符发出指令操作socket。这是C语言的思想,在面向对象的思想中,最好socket本身是一种对象,各种方法由对象本身发出。用面向对象的思想封装socket并不困难,而且,对于描述socket的概念可能更加直观,这一节,我们边介绍socket和TCP的概念边对socket进行OO封装。阅读全文 »

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

TCP/UDP网络编程入门教程之十一:TCP原理——socket异常信息

       之所以把对异常信息的介绍放到原理之前讲,是因为由于socket本身的复杂性,导致了产生各种异常的复杂性。我们应该时刻铭记的是,sokcet本身属于系统(OS),是系统对TCP/IP的实现,也就是说,socket发出的异常信息不代表程序出错,甚至不代表系统出错,而仅仅就是代表socket本身的各种异常情况。另外一点我觉得应该强调的是:socket不是TCP/IP;TCP/IP也不是socket。阅读全文 »

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

TCP/UDP网络编程入门教程之十:WinSock演示程序:TCP Server

       本文主要给大家提供一个Tcp Server的源码例子,各源码所在的文件名已在注释中标出。阅读全文 »

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

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

“鸡啄米编程课堂”上线了,欢迎围观

       时间过的真快,鸡啄米已经上线好几年了。在众多热心网友和同行的支持下,鸡啄米的访问量基本保持了持续稳定增长的态势,在这里首先要感谢所有曾经支持过鸡啄米的朋友,有了你们才有鸡啄米的今天。 鸡啄米简介 之前鸡啄米旗下包括鸡啄米博客和Android开发网两个站点。鸡啄米博客以分享软件开发和IT互联网等信息为主,Android开发网集中了Android开发的各类教程和参考资料。如今鸡啄米编程课堂上线后,鸡啄阅读全文 »

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

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

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

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

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