网站首页
手机版

SOCKET 接口编程在期货交易系统中的应用

更新时间:2005-12-26 00:00:00作者:未知

摘要: 本文讲述用SOCKET接口编程的原理及使用它实现交易系统的具体方法。

关键词:SOCKET 通信 交易

1.交易系统介绍

交易就是用户对商品的买与卖。交易系统是通过计算机系统来进行交易,也就是说,商品的买与卖都是通过计算机的网络及后台进程配对完成,交易核心采用基于内存的方式设计开发以达到最大的交易及查询响应速度。它的设计思路是:交易系统的所有数据存放在关系数据库中,但交易核心在启动后与硬盘数据不直接通信,而只是在启动时将交易所需数据一次性读入共享内存。这之后的所有交易撮合、生成委托单、交易结果都是在内存中实现的。当交易结束后,再将交易结果从内存装回硬盘数据库中,在数据库中实现交易结算、整理,产生各种帐目及统计报表,同时,再一次完成各种信息的录入与修改。

交易核心与外界的通信经由消息队列(MESSAGE QUEUE),交易核心用于交易所使用的数据存放共享内存(SHARED MEMORY)中,利用SOCKET接口编程来实现.

2.SOCKET的设计原理及进行通信连接的过程框图

Socket设计在操作系统的核心中,提供一些系统调用以支持多种通信协议(如TCP,UDP等等)。当要支持一种新的通信协议时,则需要把核心做一些改变。为了免除改变核心太多而造成不便,可以采用流的模块方式来添加新的功能,但这种方式并无法完全免除更动核心的操作。实际上,核心的设计把网络系统分成三个不同的层,如下图。


Socket支持3种访问传输系统的接口:其中一种就是同步阻塞方式:使用同步阻塞方式时,Socket库函数暂停程序的运行,等待传输系统完成请求的操作,操作一旦完成,应用程序重新获得控制权。如下右图。

3.重要的Socket系统调用

(1)创建socket- sockets()系统调用

应用程序在使用sockets之前,首先必须拥有一个sockets,系统调用sockets()向应用程序提供创建sockets的手段,其调用格式如下:

sockid = socket (int af, int type, int protocol);

(2)指定本地地址-bind()系统调用

在创建了一个新的socket号后,还要用bind()将本地socket地址(包括主机地址和本地端口号)与所创建的socket号联系起来,其调用格式如下:

bind (SOCKET sockid, const struct sockaddr FAR* name, int namelen);

(3)listen()系统调用

该调用用于面向连接的流socket,表明它愿意接收连接请求。当服务器可能同时收到几个连接请求时,便将连接请求放入请求队列。Listen()在accept()之前调用,其格式为:

listen(SOCKET sockid, int backlog);

(4)建立socket 连接connect()与accept()系统调用

用于完成整个关联的建立。connect()的调用格式如下:

connect (SOCKET sockid, const struct sickaddr FAR*name, int namelen);

(5)发送数据send()和sendto()系统调用

建立了socket连接后,便可利用上述函数通过该socket发送数据。其中send()用于面向连接的传输,sendto()用于无连接传输,调用格式如下:

send (SOCKET sockid, char FAAR* buf, intbuflen, int flags);

sendto(SOCKET sockid, const char FAR* buf, int len, int flags, const struct sockaddr FAR* to, int tolen);

(6)接收数据—recv()和recvfrom()系统调用接收数据系统调用与发送数据系统调用是一对应的,其调用格式也是一一对应。

(7)关闭socket—closesocket()系统调用

在完成数据传输任务后,需要调用closesocket()来关闭连接和释放socket,其调用格式如下:

closesocket(SOCKET sockid);
本文标签:

为您推荐

基于期权的公司资本价值

本文通过期权理论中的等值理财理念,介绍了在期权理论下的公司资本价值的定位问题。分别将公司的所有权站在为债权人所有还是股权人所有两个角度,具体分析了债务资本价值和权益资本价值是如何确定的。并指出了基于期权理论下的公司资本价值的判断对比于传统理论对公司资

2011-10-10 20:44

我国商品期货交易所充抵保证金业务会计处理之我见

随着我国衍生品行业的蓬勃发展,商品期货交易所的充抵保证金业务,无论是数量还是金额都有质的飞跃,以往的账外核算和表外披露的方式已经满足不了当今的信息需求。本文在综合分析充抵保证金业务的性质和用途的基础上,对其会计核算提出了创造性的建议。

2011-10-10 20:43

股指期货交易运作模式的比较及启示

一、国外股指期货交易的运作模式比较 目前,股指期货交易已成为西方金融市场最热门的交易,股票分析家称其为股票交易中的一场革命。其中,世界上最具权威性及代表性的股指期货合约主要有:标准普尔500种指数期货合约、伦敦《金融时报》100种指数期货合约、纽约证券交易

2011-10-10 20:42

建立和完善我国石油期货市场的对策建议

石油是重要的能源与基础性产品,与国民经济有着及其密切的关系。我国是世界石油生产和消费大国,却无力制衡国际油价。要改善这种状况,我们必须通过建立属于自己的石油期货市场体系,来融入国际石油定价体系。文章分析了建立和完善我国石油期货市场的可行性及存在的问题

2011-10-10 20:40

浅析我国期货市场发展与规范

随着我国经济市场化的深入,期货市场已初具规模,但由于起步较晚,违规事件屡屡发生。文章针对我国期货市场上存在的主要问题,分析了存在问题的原因,在此基础上提出了适合我国期货市场发展的建议。

2011-10-10 20:38

我国黄金期货市场有效性的实证分析

黄金因为其兼有货币、商品和金融三大属性的特征历来受到人们的重视。自黄金期货在上海期货交易所上市,填补了我国长期缺乏金融期货的空白。管理层与市场各参与主体对黄金期货给予很高的期望与关注,因此研究上海黄金期货市场的有效性具有重要意义。本文通过运用游程检验

2011-10-10 20:37

加载中...