空心雨毕业论文网提供毕业论文、职称论文、硕士论文、计算机论文等的代写服务,同时还提供各种期刊论文的发表。如果你有需要,请联系我们QQ:5599630;电话:13350726595;E-mail:singlehearted@vip.qq.com
RSS
 

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

来源:okxy168 作者:

摘要: 本文讲述用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);

1
最新评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
      本站是由一个众多学科的博士群体组建而成,主要创办者为成都各重点高校博士。本论文网内理工科写手均为博士,文科类写手大部分为博士,且领域涵盖广泛,写作势力强大,若有部分专业,没有相关的写手,我们给你寻找合适的写手! 依托强大的人力资源,我们本着诚心交流的宗旨,专门为您排解写作上的难题。从在科研及实践工作中稳扎稳打的经历,我们具备了研究问题,解决问题的能力。论文写作和论文发表,作为教育体系的一个重要环节,我们确实有能力给您解决好问题,正所谓,真金不怕火来炼,请相信我们的势力,没有把握的事,我们不会做!
      本站受多家期刊委托,其中包括国家级中文核心期刊目录正刊,CSSCI目录正刊,增刊,省级以上公开出版的优秀期刊正刊,本站负责论文推荐发表,加急1个月即可发表。本站负责论文发表,不发表承诺退款!!目前主要负责法律,管理,经济,理工,农学,行政,医学,艺术,英语等类论文发表论文代写。详细期刊目录见本站相关内容。
赞助商链接