分类: LINUX
2013-11-15 16:56:20
由于最近业务需要用到TCP/IP连接,稍微学习了解了,并实现了一个简单的客户端服务端连接服务的业
务通道。马上就要完成了,自己写个总结吧。
从服务端说起吧:
1)建立socket(这里用到socket()函数及函数setsockopt())。
2)把socket和IP地址及端口绑定(这里用到bind函数)
3)开始监听(这里用到listen()函数)
----------------------- | 有连接|
4)接受新的连接(这里用到accept()函数)
5)从连接里读取数据(这里用到recv()系统函数,当然也可以是read()函数)
6)返回信息给连接(这里用到send()系统函数,当然也可以是write()函 数)
一般有多进程技术,对一个新连接启用一个新进程去处理,而监听socket继续监听。
客户端:
1)建立socket(这里用到socket()函数及函数setsockopt())。
2)把socket和IP地址及端口绑定(这里用到bind函数)
3)尝试连接服务端(connect)
----------------------- |连接成功|
4)从连接里读取数据(这里用到recv()系统函数,当然也可以是read()函数)
5)返回信息给连接(这里用到send()系统函数,当然也可以是write()函 数)
额外,可以加上心跳,连接断开,可以再次创建socket,再尝试重新连接,增加链路可靠性。