面向连接(有连接)编程的网络应用程序的流程固定,只需要创建服务器和客户端两个应用程序,利用网络传输进行通信
面向连接的服务器端的流程如下:
1> 创建套接字(socket)
2> 服务的绑定(bind)
3> 服务的侦听(listen)
4> 处理新到连接(accept)
5> 数据收发(recv/send)
6> 关闭套接字(close)
面向连接的客户端的流程
1> 创建客户端套接字(socket)
2> 发起连接(connect)
3> 数据的收发(recv\send)
4> 套接字的关闭(close)
有连接的编程过程图示:
以下是一个简单的有连接的程序实现:
//服务器端的代码
#include <iostream>
#include <unistd.h>
#include <stdio.h>
#include <sys/socket.h>
#include <string.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#define QUEUE_SIZE 6
#define SERVER_PORT 7070 //服务器的端口号
#define SERVER_IP "192.168.3.66" //服务器的IP地址
int main(int ac, char *av[])
{
int sockser = socket(AF_INET, SOCK_STREAM, 0); //得到服务器端的套接字
if(sockser == -1){