加载中…
个人资料
晨星
晨星
  • 博客等级:
  • 博客积分:0
  • 博客访问:213,228
  • 关注人气:82
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
搜博主文章
和我对话
博文
标签:

go

swig

分类: Go

    本文讨论如何在Windows中使用SWIG来让Go语言调用C/C++代码。笔者的实验环境是32位Windows 7系统、Go 1.1版本、MSYS、swigwin 2.0.9版、pcre 8.3.2版、Visual Studio 2008带的C/C++编译器。

1 开发环境

1.1 安装Go语言

http://code.google.com/p/go/downloads/list 下载go1.1.windows-386.zip文件,解压缩到D:\目录。设置环境变量GOROOT为D:\Go、GOOS为windows、GOARCH为386,并且将D:\Go目录加入到环境变量PATH中。这样就设置好了Go语言开发环境。

1.2 安装MSYS

http://code.google.com/p/msys-cn/downloads/list 下MSYS-Update.7z文件,解压缩到D:\目录,将D:\MSYS\bin和D:\MSYS\mingw\bin加入到系统环境变量PATH中。这样就设置好了MSYS环境。

1.3 安装swigwin

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

aio

asio

eventfd

异步io

分类: Asio
boost.asio是boost一个组件,可方便地用于套接字IO,但是不能直接用于普通文件的IO。如何将boost.asio用于普通文件IO呢?查阅相关资料,经过一番探索后,笔者编写了本文提供的示例程序,用于展示将boost.asio用于普通文件IO的方法。
示例代码如下(随后给出代码说明):
#if defined(WIN32)
#define _WIN32_WINNT 0x0501
#else
#ifndef _GNU_SOURCE
#define
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

ssl

tls

zeromq

网络编程

杂谈

分类: ZeroMQ

本文译自 http://www.riskcompletefailure.com/2012/09/tls-and-zeromq.html

It's pretty straightforward to use synchronous encryption over ZeroMQ just case of encrypting and decrypting at each end with some previously shared key. Asynchronous encryption is a&

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

zeromq

网络编程

消息队列

it

分类: ZeroMQ
 
本文是阅读http://zguide2.zeromq.org/page:all#toc65的笔记。
 
第三章用实际的示例探讨了请求-回应模式的高级用法。本章将探讨可靠性的问题,在ZeroMQ的核心请求-应答模式上创建可靠的消息模式。本章主要关注用户空间的模式,它们可以帮助你设计ZeroMQ应用程序。

1 “可靠”是什么?

要理解“可靠”是什么,需要考察其反面:故障。如果我们可以处理某些类型的故障,则对这些故障是可靠的。以下是分布式应用中可能的故障,大体按照可能性降序排列:
  • 应用程序代码最可能导致故障。程序可能崩溃退出、冻结而不响应输入、对于输入来说运行得太慢、耗尽内存等等。
  • 系统代码——比如说使用ZeroMQ编写的代
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

zeromq

网络编程

消息队列

it

分类: ZeroMQ
 
本文是阅读http://zguide2.zeromq.org/page:all#toc47的笔记。
 
本章探索建立在ZeroMQ核心的请求-应答模式之上的高级模式。

1 请求-应答信封

请求-应答模式中,信封用于存储应答的返回地址。无状态的ZeroMQ网络通过使用信封才能创建来回的请求-应答会话。
一般的使用中不用理解请求-应答信封是如何工作的。使用REQ和REP的时候,套接字会自动处理信封。像上一章中那样编写设备的时候,也只需要读写消息的所有部分就可以了。ZeroMQ使用多段消息来实现信封,所以只要安全地复制多段消息,就隐含地复制信封了。
然而对于高级应用,你应该理解请求-应答信封是如何工作的。从信封的使用方面来看,ROUTER是这样工作的:
  • 对于从REQ端收到的消息,ROUTER套接字会在消息前面加上信封,信封中有签名:这条消息来自Lucy。然后ROUTER转发消息。也就是说,ROUTER对于流出的消息会添加包含应答地址的信封。
  • 对于从DE
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

zeromq

网络编程

消息队列

it

分类: ZeroMQ

1 零之禅

   名字中Zero的含义:
  • 无需代理(zero broker)
  • 零延迟(zero latency as possible)
   Zero也表示设计目标:
  • 零管理
  • 零开销
  • 零浪费
   概括地说,Zero表示最简化的设计理念:通过移除复杂性来增强能力,而不是通过增加新功能。

2 套接字API

   ZeroMQ中的套接字管理分成四个部分:
  • 创建和销毁套接字:zmq_socket和zmq_close
  • 设置和获取套接字选项:zmq_setsockopt和zmq_getsockopt
  • 通过创建连接来将套接字插入到网络拓扑结构中:zmq_bind和zmq_connect
  • 使用套接字收发消息:zmq_recv和zmq_send
   一般来说,ZeroMQ应用中,套接字属于ZeroMQ,消息属于你的代码。

3 将套接字插入到拓扑结构中

   要在两个节点间创建一个连接,则需要对
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

zeromq

网络编程

消息队列

it

分类: ZeroMQ
本文是阅读http://zguide2.zeromq.org/page:all#toc0的笔记。

1 拯救世界(Fixing the World)

如何解释ZeroMQ?
  • 用它可以完成的精彩的事情来解释:ZeroMQ是打了激素的套接字(It's sockets on steroids);ZeroMQ是带有路由的邮箱。
  • 用人们对它的评价来解释:ZeroMQ很快;复杂性不见了,ZeroMQ让事情变得简单;ZeroMQ解放了思维。
  • 通过比较来解释:ZeroMQ更小、更简单。
而文档作者带领大家回忆为什么创造ZeroMQ,因为当时作者所处的境况跟读者今天的境况非常相似。
 
    编程是穿上盛装的一门科学,好像艺术一样,因为大部分人不理解软件的本质,也没有人告诉他们。软件的本质不是算法、数据结构、语言和抽象。软件只是我们创建、使用、丢弃的工具。软件的本质就是人类的本质。软件变得复杂的时候,人们将其划分成容易理解和使用的部分,从而可以相互合作,解决非常大的问题。
 
    现代软
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

protobuf

杂谈

分类: ProtocolBuffers

   译自 https://developers.google.com/protocol-buffers/docs/overview

 

   Protocol Buffers提供了语言中立、平台中立,并且可扩展的序列化结构数据以用于通信协议、数据存储等的方法。只需要定义一次数据结构,就可以简单地使用特别生成的源代码来使用各种语言,从各种数据流读写结构数据。甚至可以更新数据结构,而不影响已经发布的、使用旧格式的程序。

 

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

protobuf

杂谈

分类: ProtocolBuffers

译自 https://developers.google.com/protocol-buffers/docs/cpptutorial    

 

本文为C++程序员介绍如何使用protocol buffers。通过创建一个简单的示例应用,告诉你如何:

· 在.proto文件中定义消息格式

 

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

it

python

分类: Python
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
  

新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

新浪公司 版权所有