学习网络编程的十个步骤

此文章来自网络------禚来强

经过多年的网络编程实践之后,个人觉得初学网络编程者可以从以下几个步骤开展:


1)下载一个可以互动的学习工具,通过这个与这个工具互动,我们可以及时的学到每个api的结果如果。我个人强烈推荐一个互动好工具,即python,下载地址http://www.python.org 对于有c/c++java基础的朋友通过一两个礼拜的时间就可以上手了,另外个人建议初学者可以学习dive into python

2)掌握网络编程中会用到的几个基本概念和内涵,比如IP地址,port号,socket


3)记住和消化网络编程C/S模型,把serverclient端编程的常用模式理解和消化


4)花几天时间学习socket api集,api集可以分为下面几大类:

创建 socket bind listen accept

收发 read/recv/recvfrom write/send/sendto

关闭 close shutdown

参数 getsockopt/setsockopt

地址 gethostbyaddr getaddrbyhost,...


在学习这些api时候,可以先关注在函数功能,参数意义上


5)结合python互动平台,实践socket api的用法,比如socket函数怎么使用,bind怎么使用等等。在互动过程中,我们可以变换参数,看看调用结果如何。比如,

创建一个tcp socket的语法如下:

socket(AF_INET,SOCK_STREAM)


创建一个udp socket的语法如下:

socket(AF_INET,SOCK_DGRAM)


6)学习socket server端编程实现简单规约比如echotime等,然后通过cmd中的telnet来测试。


7)学习I/O模型,比如阻塞、非阻塞和反应式(select,poll,WaitForMultipleObject)


8)学习Richard Stevens的《Unix网络编程》,深入学习其中的api原理以及服务端设计原理,并通过代码编写。


9)下载高性能网络编程框架twisted,笔者强烈推荐,它将使你的网络编程效率提高10倍以上。


10)学习设计模式、操作系统知识比如线程、进程、同步等。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值