(4)总结心得1

来源:互联网 发布:淘宝7天上下架取消了吗 编辑:程序博客网 时间:2024/04/29 04:19
学习都要总结! 
前边的函数和数据类型是C网络编程的最基本的东西,一定要熟练掌握。socket和ip结构和每个数据的作用以及要赋什么值要熟记。 
我开始写简单服务器和客户端函数的时候简直晕头转向。要坚持多写,写几次就好多了。 
服务器程序主要流程是: 
1.利用socket函数开一个套接口。 
2.利用bind函数给这个套接口赋值已经定义好的结构体。 
3.利用listen函数监听这个套接口。 
4.一旦有客户接入,调用accept函数,连接建立。 
打个不太恰当的比喻。也许会对你的理解有帮助,我当时就是看了这个东西才有点开窍的。。。。 
调用socket函数开一个套接口相当于让你有了一部电话,bind绑定结构体相当于给这个电话一个电话号码。调用listen监听后这个电话就可以对别人的拨号有响应了。你接了电话就相当accept函数被调用。 
客户端的主要流程是 
1.利用socket函数开一个套接口 
2.调用connect函数连接服务器 
还有要注意的地方。都是我编程中晕过的地方 
1.注意一般的服务器程序开的socket都只是一个,这个端口是众所周知的那个。而每一个连接到服务器的客户被分配的都是另外一种意义上的套接口。这种套接口是随机的。千万不要把两种弄混了。这个是我编程的时候想了N长时间的。。。。 
2.注意给地址结构体赋值的时候,服务器对客户的地址是不感兴趣的,而客户只需提交服务器的IP地址和那个众所周知的端口号。知道这些将非常有助于你理解示例程序。 
3.这几个函数的有些参数是值——结果参数。一定要注意调用函数前后参数的变化。 
4.到这里写出的程序传输的是乱码的话也不要灰心,很正常。就算是简单的服务器程序过程也远不只这些。注意网络主机字节续等这些函数的应用,后边要说到。 
以上都是我自己的一些心得。肯定有有错的地方拉。希望大牛们指出。谢谢。 
另外注意用UNIX网络编程这本书自学的人注意。上边程序中有些函数是被封装到stevens那个老头写的unp.h中的。建议不要用unp。全部自己写都没问题。累了。睡觉去鸟