简易的C/S系统(实现两个数的和)
//Client:
#include <string.h>
#include <sys/socket.h>
#include <stdio.h>
#include <netinet/in.h> int main(int argc, char **argv){
int sockfd;
struct sockaddr_in address;
int result;
int num1 = , num2 = , num3 = ;
printf("请输入两个整数");
scanf("%d%d", &num1, &num2);
sockfd = socket(AF_INET,SOCK_STREAM, );
address.sin_family = AF_INET;
address.sin_addr.s_addr = inet_addr("127.0.0.1");
address.sin_port = ;
result = connect(sockfd, (struct sockaddr *) &address, sizeof(address));
if(result == -){
perror("连接失败了");
return ;
}
write(sockfd, &num1, sizeof(num1));
write(sockfd, &num2, sizeof(num2));
read(sockfd, &num3, sizeof(num3));
printf("两个数的和是%d\n", num3);
close(sockfd);
return ;
}
//Server
include<stdio.h>
#include<string.h>
#include<sys/socket.h>
#include<netinet/in.h> int main(int argc, int **argv){
int server_sockfd, client_sockfd;
struct sockaddr_in server_address;
struct sockaddr_in client_address;
//struct sockaddr_in *client_address2;
server_sockfd = socket(AF_INET, SOCK_STREAM, );
server_address.sin_family = AF_INET;
server_address.sin_addr.s_addr = inet_addr("127.0.0.1");
server_address.sin_port = ;
bind(server_sockfd, (struct sockaddr *) &server_address, sizeof(server_address));
listen(server_sockfd, );
int client_len;
//char client_ip[100], client_port[100];
while(){
int num1, num2, num3;
printf("服务器等待消息\n");
client_len = sizeof(client_address);
client_sockfd = accept(server_sockfd, (struct sockaddr *) &client_address, (socklen_t *__restrict) &client_len);
//sprintf(client_ip, inet_ntoa(client_address.sin_addr));
//client_address2 = (struct sockaddr_in *)&client_address;
//printf("你所连接的主机的ip地址为: %s, 端口号是:\n", inet_ntoa(client_address2->sin_addr));
read(client_sockfd, &num1, sizeof(num1));
printf("第一个数是: %d\n", num1);
read(client_sockfd, &num2, sizeof(num2));
printf("第二个数是: %d\n", num2);
num3 = num1 + num2;
write(client_sockfd, &num3, sizeof(num3));
close(client_sockfd);
}
return ;
}
简易的C/S系统(实现两个数的和)的更多相关文章
- C/S系统实现两数求和(非阻塞+epoll+心跳包检测用户在线状况+滚动日志+配置文件.)
C/S系统实现两数求和 任务要求: 实现配置文件 实现日志滚动 设置非阻塞套接字,EPOLL实现 检测客户端的连接,设置心跳检测 主线程 + 心跳检测线程 + EPOLL的ET模式处理事务线程 注意事 ...
- [原创]java WEB学习笔记41:简单标签之带属性的自定义标签(输出指定文件,计算并输出两个数的最大值 demo)
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- 轻松应对并发问题,简易的火车票售票系统,Newbe.Claptrap 框架用例,第一步 —— 业务分析
Newbe.Claptrap 框架非常适合于解决具有并发问题的业务系统.火车票售票系统,就是一个非常典型的场景用例. 本系列我们将逐步从业务.代码.测试和部署多方面来介绍,如何使用 Newbe.Cla ...
- Java数据结构与算法之---求两个数的最大公约数(欧几里得算法)
一个简单的小算法来获取两个数的最大公约数, public class Test { public static void main(String[] args) { long result = gcd ...
- JavaScript获取两个数之间的任意随机数
通过JavaScript的Math.random()方法可以获取0到1之间的任意随机数,那如何获取任意给定的两个数之间的随机数呢?如获取2和5之间的随机数,5和10之间的随机数等. 由于Math.ra ...
- shell实现两个数的相加
刚开始的时候写,一直写不对:看似简单的功能,但是一定要小心:函数的定义: funciton functionName {.....}在functionName和{之间一定有空格啊! 我就是没加空格,就 ...
- [猜数字]把两个数和告诉A,积告诉B,求这两个数是什么
1-20的两个数把和告诉A,积告诉B,A说不知道是多少,B也说不知道,这时A说我知道了,B接着说我也知道了,问这两个数是多少? 分析: 设和为S,积为M. 首先,A:我不知道. 说明:S可以分解成多个 ...
- java课后作业 弹出窗口求两个数的加减乘除
//计算2个数的加减乘除 谷伟华 2015/10/6package jisuan; import javax.swing.JOptionPane; public class Jiasuan { pub ...
- 创建一个LinkedList,然后在其中插入多个值,确保每个值都插入到List中间(偶数中间两个数之一,奇数在正中间)
这是Thinking in java 中的一道题,下面是我的解决方案: package test; import java.util.LinkedList; import java.util.List ...
随机推荐
- codeforces C. Cd and pwd commands 执行命令行
执行命令来改变路径 cd 并显示路径命令 pwd 一个节目的 抽样: input 7 pwd cd /home/vasya pwd cd .. pwd cd vasya/../petya pwd ou ...
- CPU使用率和Load Average的关系
看了几篇博客总结的区别,自己终于明白了含义,在这里将理解总结一下: 对于定义和解释,感觉淘测试上的更容易理解: 引用如下: CPU使用率: 一段时间内CPU的使用状况,从这个指标可以看出某一段时间内 ...
- 巧记--Css选择器
love ------> hate 即: a:link --> a:visited --> a:hover --> a:active a:link ...
- Jmail组件发送邮件说明ASP.NET
ASP.Net环境下使用Jmail组件发送邮件2008-01-25 18:59实现过程: 不同于在Asp中使用Jmail,直接使用 Server.CreateObject("Jmail.Me ...
- visual studio 未将对象引用设置到对象的实例
我今天在win10上安装了Visual Studio 2015,结果新建项目后在模板中选择一项后就会弹出一个对话框: 查了许多种方法后,下面这个方法解决了我这个问题: 著作权归作者所有.商业转载请联系 ...
- (原+转)ubuntu终端输出彩色文字
转载请注明出处: http://www.cnblogs.com/darkknightzh/p/6066697.html 参考网址: http://www.tuicool.com/articles/jI ...
- a标签加绝对定位在图片上面,a的链接和块状属性block失效,而且是所有IE版本都失效的
谷歌和火狐浏览器下测试是正常的,IE下鼠标移过logo是没有超链接的提示的 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitio ...
- php中的MVC模式运用
[size=5][color=Red]php中的MVC模式运用[/color][/size] 首先我来举个例子: 一个简单的文章显示系统 简单期间,我们假定这个文章系统是只读的,也就是说这个例子将不涉 ...
- ubuntu 下搭建一个python3的虚拟环境(用于django配合postgresql数据库开发)
#安装python pip (在物理环境中安装) sudo apt-get install python-pip sudo apt-get install python3-pipsud ...
- Choose the best route--hdu2680
Choose the best route Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Ot ...