d语言 c++ 混合编程,C++,D语言,Python语言一次模拟合作开发
我想要做一个网络server,一个网络client。
server主要就是一个echo回应,client连上服务器后打印服务器返回的回应。
Python做一个性能测试,调用50000次client去连接服务器。下面就是各自的代码。
Server:D语言开发。
Client:C/C++语言开发。
性能测试tool:Python语言开发。
Server Code: server.d -> server.exe
private import tango.core.Thread;
private import tango.io.Console;
private import tango.net.ServerSocket,
tango.net.SocketConduit;
void main()
{
const int port = 8080;
auto server = new ServerSocket (new InternetAddress(port));
while(true)
{
// wait for requests
auto request = server.accept;
// write a response
request.output.write ("server replies 'hello'");
}
}
Client Code(must link ws2_32.lib):client.cpp ->
client.exe
#include
#include
int client()
{
SOCKET sClient;
char szBuffer[1024];
sClient =
socket(AF_INET,SOCK_STREAM,IPPROTO_IP);
if (sClient == SOCKET_ERROR)
{
printf("socket() failed:
%d\n",WSAGetLastError());
return 1;
}
struct sockaddr_in server;
server.sin_family = AF_INET;
server.sin_port = htons(8080);
server.sin_addr.s_addr =
inet_addr("172.25.185.116");
struct hostent *host = NULL;
if(server.sin_addr.s_addr == INADDR_NONE)
{
host =
gethostbyname("172.25.185.116");
if(host == NULL)
printf("Unable
to resolve server:%s\n","172.25.185.116");
}
if(connect(sClient,(struct sockaddr
*)&server,sizeof(server)) == SOCKET_ERROR)
{
printf("connect()
failed:%d]n",WSAGetLastError());
return 1;
}
int ret = recv(sClient,szBuffer,1024,0);
szBuffer[ret] = '\0';
printf("RECV [%d
bytes]:'%s'\n",ret,szBuffer);
closesocket(sClient);
return 0;
}
int main(int argc,char* argv[])
{
WSADATA wsaData;
int retval=0;
if(WSAStartup(MAKEWORD(1,1),&wsaData)!=0)
{
return
255;
}
client();
WSACleanup();
return retval;
}
P Tool Code: test.py
import os
for i in range(50000):
os.spawnl(1,'client.exe')
d语言 c++ 混合编程,C++,D语言,Python语言一次模拟合作开发相关推荐
- 11. Python语言的核心编程 · 第十一章 Python语言的面向对象(上)
Pythin语言的面向对象(上) 1. 面向对象简介 2. 类(class) 3. 对象的创建流程 4. 类的定义 5. 类中的属性和方法 6. 参数self 总结小便条 1. 面向对象简介 Py ...
- extern quot;Cquot; 的含义:实现C++与C及其他语言的混合编程
C++中extern "C"的设立动机是实现C++与C及其他语言的混合编程. C++为了支持函数的重载.C++对全局函数的处理方式与C有明显的不同. 对于函数void foo( i ...
- python语言特点粘性扩展_010 深入理解Python语言
[TOC] 一.概述 计算机技术的演进 编程语言的多样初心 Python语言的特点 "超级语言"的诞生 二.计算机技术的演进 2.1 计算机技术的演进过程 - - - 2017- ...
- 嵌入式c语言汇编混合编程,嵌入式C语言和汇编语言的混合编程
此文章简单介绍 单片机 C语言和汇编语言混合编程的例子.主要用单片机汇编语言编写DS1302的底层驱动,在C语言里通过调用汇编语言,从而实现C和汇编的混合编程. ;汇编语言源文件 ;========= ...
- 混合编程黑科技:跨语言编程问题迎刃而解的3个要点
首先,混合编程是什么鬼? 这个世界上编程语言真不少,光常用就有:C.C++.Java.C#.Objective-C.Javascript.Python.Lua.Swift等等等,遑论一些专业性比较强的 ...
- c语言汇编混合编程方法,C语言和汇编语言混合编程方法
摘要: C语言是一种高级的面向过程的开发语言,汇编语言是一种低级的面向机器的编程语言.两者在程序设计开发方面各有优劣,目前两者的混合编程得到了广泛的应用.本文通过具体的实例,说明了混合编程的基本方法, ...
- python语言 行业_如何入门编程开发行业 选择Python语言怎么样
如何入门编程开发行业?选择Python语言怎么样?Python是一种面向对象的解释型计算机程序设计语言,它是纯粹的自由软件,语法简洁清晰,它具有丰富和强大的库.它常被称为胶水语言,能够把用其他语言制作 ...
- 用c语言给8051编程,8051单片机的C语言编程
8051的C语言编程和传统的C语言编程是类似的.当然其中有些数据类型是不一样的,我们知道8051支持强大的位寻址能力,因此8051的C语言编程增加了一些新的数据类型,为了不使的8051的能力被浪费.下 ...
- 最简单的python语言程序设计_编程中最简单的语言Python,这样学或许更容易
最近微信小程序上面出了一个跳一跳的小游戏 大家有没有玩呀? 编程中最简单的语言Python,这样学或许更容易 分享之前我还是要推荐下我自己建的Python开发学习群:628979297,群里都是学Py ...
最新文章
- 图灵奖得主杨立昆:AI+时代,未来将会如何被改变
- python 点的投影变换
- 同步、异步、阻塞、非阻塞、BIO、NIO、AIO
- FPGA_进阶篇开篇
- docker搭建nacos1.4.1挂载文件并实现mysql持久化
- php编译freetds,Linux 下 PHP 5.2.x 连接 SQL Server 数据库 FreeTDS 配置笔记
- 深度学习笔记-卷积神经网络CNN与循环神经网络RNN有什么区别?
- Web之路笔记之三 - 使用Floating实现双栏样式
- 吃透这套架构演化图,从零搭建Web网站也不难!
- Atitit 函数式常用子操作与组合 目录 1. 集合类的操作	1 1.1. Transform、map	1 1.2. paip.提升效率---filter map reduce 的java 函
- Ubuntu 20.04 虚拟机镜像源更改
- 二寸证件照尺寸怎么调?这两个方法让你在家也能制作证件照
- 计算机动画的基础知识是什么,计算机动画历史基础知识介绍课件
- 【OpenCV入门教程之十二】OpenCV边缘检测:Canny算子,Sobel算子,Laplace算子,Scharr滤波器合辑
- SIFT算法基础数学
- 【CCF】ISBN号码
- 达人评测 酷睿i7 1195g7 和奔腾n6000选哪个
- LayUI中的基本元素之 日期和时间组件文档
- 深度 | 车载语音群雄并起共争智能座舱新高地
- 零跑C11的“一骑绝尘”
热门文章
- 学python有前途吗-Python前景好不好?
- 零基础学python知乎-35岁了零基础自学Python可行吗?
- python和c++哪个好-Scratch和Python与C++选哪个合适
- python最适合做什么-学习Python适合就业哪些岗位?老男孩Python学习
- 逆向工程mysql注释_PowerDesigner 15进行逆向工程生成数据库图表时,注释的comment的生成,解决PowerDesigner逆向工程没有列注释...
- 【王道计组笔记】I/O查询方式
- 【深度优先搜索】牛客网:剪绳子
- 【二分法】计蒜客:气球消消乐
- LeetCode 1035 不相交的线
- java 分析数据类型_Java数据类型分析