您的位置:首页 > 编程语言

揭开Socket编程的面纱

2013-10-26 22:45 246 查看
  一切皆Socket!

  

  我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠socket?那什么是socket?socket的类型有哪些?还有socket的基本函数,这些都是本文想介绍的。本文的主要内容如下:

[align=justify]1、网络中进程之间如何通信?[/align]

[align=justify]2、Socket是什么?[/align]

[align=justify]3、socket的基本操作[/align]

[align=justify]3.1、socket()函数[/align]

[align=justify]3.2、bind()函数[/align]

[align=justify]3.3、listen()、connect()函数[/align]

[align=justify]3.4、accept()函数[/align]

[align=justify]3.5、read()、write()函数等[/align]

[align=justify]3.6、close()函数[/align]

[align=justify]4、socket中TCP的三次握手建立连接详解[/align]

[align=justify]5、socket中TCP的四次握手释放连接详解[/align]

[align=justify]6、一个例子(实践一下)[/align]

7、留下一个问题,欢迎大家回帖回答!!!

服务器端
客户端代码:

客户端
当然上面的代码很简单,也有很多缺点,这就只是简单的演示socket的基本函数使用。其实不管有多复杂的网络程序,都使用的这些基本函数。上面的服务器使用的是迭代模式的,即只有处理完一个客户端请求才会去处理下一个客户端的请求,这样的服务器处理能力是很弱的,现实中的服务器都需要有并发处理能力!为了需要并发处理,服务器需要fork()一个新的进程或者线程去处理请求等。

  还有一篇博客是比较好的,http://goodcandle.cnblogs.com/archive/2005/12/10/294652.aspx值得关注。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: