linux下socket编程小总结

Socket编程原理与流程
本文详细介绍了socket编程的基本原理及在网络通信中的应用。通过对比服务器端与客户端的socket连接过程,解析了socket套接字的工作机制,包括初始化、绑定、监听、连接、数据交换以及关闭等关键步骤。
借鉴总结子http://blog.youkuaiyun.com/hguisu/article/details/7445768
socket编程主要用于网络之间进行进程通信。tcp ip是一个协议族,http是一个上层应用层的协议。而socket是一个封装tcp层的一个api,它不止可以用于这个协议之上,还可以其他接口。
  • scoket套接字
  • socket描述符
          套接字描述符 0输入,1输出,2错误输出。系统为每一个进程维护一个文件描述表。表里有顺序,而0 1 2 3等为对应文件指针在表中的位置。所以 创建socket时候只要返回这么一个小整数就可以了。
  • socket连接类似于打电话。服务器端先初始化Socket,然后与端口绑定(bind),对端口进行监听(listen),调用accept阻塞,等待客户端连接。在这时如果有个客户端初始化一个Socket,然后连接服务器(connect),如果连接成功,这时客户端与服务器端的连接就建立了。客户端发送数据请求,服务器端接收请求并处理请求,然后把回应数据发送给客户端,客户端读取数据,最后关闭连接,一次交互结束。
总结,socket有几种函数,socket,bind,listen ,connect accept. close 特有用来对付

  •   int socket(int protofamily, int type, int protocol);//返回sockfd
  • int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen);
  • int listen(int sockfd, int backlog);
  • int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen);
  • int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen); //返回连接connect_fd

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值