刚接触网络编程,看到计算器端/客户端练习,作者建议读者自己实现一下。自己就头痛医头,脚痛医脚,写了一个很初级的服务器端、客户端,虽然很菜,不过功能是实现了,还是很开心的,记录一下。
要求:客户端依次发送待算数字个数,以及相应个数的整数,最后输入运算符(+、-、*之一),服务器端计算运算结果并返回给客户端,客户端输出结果。
// 服务器端
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <arpa/inet.h>
#include <sys/socket.h>
void error_handling(const char *);
int main(int argc, char* argv[])
{
int serv_sock;
int clnt_sock;
struct sockaddr_in serv_addr;
struct sockaddr_in clnt_addr;
socklen_t clnt_addr_len;
char message[100];
int num = 0; // 记录传过来的字符串个数
char ch[10][10]; // 用来接收每一个操作数和运算符
int sum = 0; // 计算最后的结果
int n; // 记录有几个操作数
if (argc != 2)
{
printf("Usage: %