一、设计TCP Client端
1、建立Socket---使用socket()函数
2、通知Server请求连接---使用Connect()函数
3、若联机成功,使用输入输出函数与Server互传信息
4、关闭Socket----使用close()函数
二、设计TCP Sever端
1、建立Socket---使用socket()函数
2、绑定Socket---使用bind()函数
3、打开listening socket,进行监听----使用listen()函数
4、等待Client连接请求---使用accept()函数
5、阻塞等待,收到连接请求,确定连接成功后,使用的输入输出函数与Client端互传信息----
服务端 | 客户端 |
阻塞等待 | connect |
read() | write() |
write() | read() |
6、关闭Socket----使用close()函数
三、TCP输入输出函数
1、read()
int read(int sockfd,char *buf,int len);
sockfd,socket函数运行后返回的socket描述符
buf,指向字符缓冲器的指针,用来保存读取到的数据
len,要读取的字符的长度
运行成功返回接收的位数,错误返回-1
2、write()
int write(int sockfd,char *buf,int len);
sockfd,socket函数运行后返回的socket描述符
buf,指向字符缓冲器的指针,用来保存准备写入的数据
len,要写入的字符的长度
运行成功返回写入的位数,错误返回-1
3、recv()
通过socket来接受数据,接收远程socket传来的数据,并把数据保存到buf指定的内存里,len是可接受数据的最大长度,flag一般设为0;
int recv(int s,void *buf,int len,unsigned int flags);
成功返回接受到的字符数,失败返回-1;
4、send()
通过socket来传送数据,将msg所指向的数据通过socket传给远程的主机,len为传送数据的最大长度,flag一般为0
int send(int s,const void *msg,int len,unsigned int flags);
成功返回实际传送的字符数,失败返回-1;