通信过程中一般都需要提前定义好通信协议,TCP中亦是如此。
我们编写计算器的例子,定义好应用层协议:
1.客户端连接到服务器端后以1字节整数形式传递待算数字个数;
2.客户端向服务器端传递的每个整数型数据占用4字节;
3.传递完数据后,接着1个字节运算符;
4.选择字符+,-,*,/;
5.服务器以4字节整数型向客户端传回运算结果;
6.客户端得到运算结果后终止与服务器端的连接。
Server端代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <arpa/inet.h>
#include <sys/socket.h>
#define BUF_SIZE 1024
#define OPSZ 4
void error_handling(char *message);
int calculate(int opnum,int opnds[],char oprator);
int main(int argc, char *argv[]){
int serv_sock;