码迷,mamicode.com
首页 > 其他好文 > 详细

TCP通讯程序设计

时间:2016-06-14 13:55:31      阅读:233      评论:0      收藏:0      [点我收藏+]

标签:

1、编程模型函数化

技术分享

函数学习

1)创建套接字

函数名:socket

函数原型:Int socket(int domain,int type,int protocol);

函数功能:创建套接字

所属头文件:<sys/types.h>、<sys/socket.h>

返回值:成功:返回对应于新套接字的文件描述符或者套接字的id,失败:返回错误编码

参数说明:domain:有一系列可取值;type:创建的套接字协议的类型;protocal:协议

2)绑定套接字

函数名:bind

函数原型:Int Bind(int sockfd,const struct sockaddr *addr,socklen_t addrlen);

函数功能:绑定套接字:将ip地址与套接字相绑定

所属头文件:<sys/types.h>、<sys/socket.h>

返回值:成功:返回对应于新套接字的文件描述符或者套接字的id;失败:返回错误编码

参数说明:sockfd:要绑定套接字的fd;addr:将套接字与那个地址进行绑定;addrlen:地址长度

技术分享

技术分享

网络字节序:

技术分享

技术分享

3)监听

listen

作用:1、用来指明服务器已经做好了准备,可以用来接收客户机的请求了。2、用来设置服务器可以接受多少个客户机的连接请求

参数:sockfd与之关联的套接字的fdBacklog:客户机的数目,即允许多少个客户机来进行连接。

成功:返回0失败:返回-1

4)等待连接

Accept

作用:等待客户机来进行连接,如果无客户机来连接,则导致服务器在这里阻塞。

参数:sockfd:创建的套接字的fdAddr:如果有客户机来进行连接,那么通过本地址来返回客户机的地址。Len:接收到客户机的地址的长度

成功:返回新的套接字的描述符。后面在发送和接收数据时用这个新的fd来进行操作。

5)发送数据

函数名:Send

作用:发送数据

参数:sockfd:新的套接字的fd,buf:要发送数据的地址,nbytes:要发送数据的长度,flags:标志

 6)接收数据

Recv

参数:sockfd:新的套接字的fd,buf:要存数据的地址,nbytes:希望接收多大量的数据,flags:标志

7)关闭连接

Close

8)连接服务器

Connect

参数:新创建的套接字的fdaddr:保存的服务器的地址,len:服务器地址的长度

成功:返回0

失败:返回-1

 

TCP通讯程序设计

标签:

原文地址:http://www.cnblogs.com/gary-guo/p/5583552.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!