//服务器端代码:
#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 *msg)
{
fputs(msg,stderr);
exit(1);
}
int calc(int n,int *digs,char op)
{
int res1=0;
int res2=1;
switch(op)
{
case '+':
for(int i=0;i<n;++i)
res1+=digs[i];
return res1;
case '*':
for(int i=0;i<n;++i)
res2*=digs[i];
return res2;
}
}
int main(int argc,char *argv[])
{
int serv_sock,clnt_sock;
struct sockaddr_in serv_adr,clnt_adr;
socklen_t clnt_adr_sz;
int opd,result,tmp,digs[25];
char sym;
if(argc!=2)
{
printf("Usage:%s <port>",argv[0]);
exit(1);
}
serv_sock=socket(PF_INET,SOCK_STREAM,0); //第一步
if(serv_sock==-1)
error_handling("socket() error\n");
memset(&serv_adr,0,sizeo