SOCKET 接口编程在期货交易系统中的应用
摘要: 本文讲述用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);
2.部分稿件来源于网络,如有不实或侵权,请联系我们沟通解决。最新官方信息请以湖北省教育考试院及各教育官网为准!
-
122023-04湖北自考风景园林专业本科毕业论文范文湖北自考风景园林专业本科毕业论文范文
-
122023-04湖北自考土木工程专业本科毕业论文范文湖北自考土木工程专业本科毕业论文范文
-
122023-04湖北自考计算机信息安全本科毕业论文范文湖北自考计算机信息安全本科毕业论文范文
-
122023-04湖北自考建筑学本科毕业论文范文湖北自考建筑学本科毕业论文范文
-
122023-04湖北自考软件工程本科毕业论文湖北自考软件工程本科毕业论文
-
122023-04湖北自考网络工程专业本科毕业论文范文湖北自考网络工程专业本科毕业论文范文
已帮助10w万+意向学历提升用户成功上岸
-
毛泽东思想概论
培训优势:课时考点精讲+刷题+冲刺,熟练应对考试题型。全程督促学习,安排好学习计划。 毛泽东思想概论...自考培训 -
英语二
本课程既是一门语言实践课程,也是拓宽知识、了解世界文化的重要素质课程,它以培养学习者的综合语言应用能力为目标,使他们在学习、工作和社会交往中能够使用英语进行有效的交流。 英语二...自考培训 -
马克思主义基本原理概论
本书包括两个部分:自学考试大纲和基本原理。主要内容有,马克思主义是关于工人阶级和人类解放的科学,物质世界及其发展规律,认识的本质及其规律,人类社会及其发展规律,资本主义的形成及其发展,资本主义发展的历史进程,社会主义社会及其进程,共产主义社会及其进程等。 马克思主义基本原理概论...自考培训 -
思想道德修养与法律基础
《思想道德修养与法律基础》课具有鲜明的政治性、思想性、理论性、针对性、科学性、知识性以及实践性和修养性。它包罗政治、思想、道德、心理本质、学习成才和法律本质等内容,指导和回答大学生在人生、抱负、信念等方面遍及关心和迫切需要解决的问题。 思想道德修养与法律基础...自考培训 -
中国近代史纲要
“中国近现代史纲要”全国高等教育自学考试指定教材,依据中央审定的普通高等学校“中国近现代史纲要”编写大纲以及马克思主义理论研究和建设工程重点教材《中国近现代史纲要》,结合自学考试的特点设计了十章,集中讲述1840年鸦片战争爆发一直到2007年中国共产党第十七次全国代表大会召开的160多年的中国近现代历史。 中国近代史纲要...自考培训
扫一扫关注微信公众号
随时获取湖北省自考政策、通知、公告以及各类学习资料、学习方法、课程。