socket接口编程在期货交易系统中的应用
毕业论文8.65K
摘要: 本文讲述用socket接口编程的原理及使用它实现交易系统的具体方法。 关键词:socket 通信 交易 1.交易系统介绍交易就是用户对商品的买与卖。交易系统是通过计算机系统来进行交易,也就是说,商品的买与卖都是通过计算机的网络及后台进程配对完成,交易核心采用基于内存的方式设计开发以达到最大的交易及查询响应速度。它的设计思路是:交易系统的所有数据存放在关系数据库中,但交易核心在启动后与硬盘数据不直接通信,而只是在启动时将交易所需数据一次性读入共享内存。这之后的所有交易撮合、生成委托单、交易结果都是在内存中实现的。当交易结束后,再将交易结果从内存装回硬盘数据库中,在数据库中实现交易结算、整理,产生各种帐目及统计报表,同时,再一次完成各种信息的录入与修改。交易核心与外界的通信经由消息队列(message queue),交易核心用于交易所使用的数据存放共享内存(shared memory)中,利用socket接口编程来实现et的设计原理及进行通信连接的过程框图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);
论文出处(作者):
关于CD-ROM媒体教材中交互式对话功能的基础性研究及其应
Java 的 HTTP 文件队列下载
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);
论文出处(作者):
关于CD-ROM媒体教材中交互式对话功能的基础性研究及其应
Java 的 HTTP 文件队列下载
-
高中音乐教学对学生鉴赏能力的培养
音乐鉴赏需要学生发自内心去感受与品评,让学生明白不同领域都有其自身的魅力与吸引力,高中音乐鉴赏教学的初衷也不例外。【摘要】音乐教学是高中阶段的基础课程之一,通过音乐教学学生可以拓宽知识面,从多角度去认知和了解中华民族的音乐发展历程,并掌握音乐鉴赏能力...
-
企业网站翻译研究现状与发展新方向论文
摘要:以中国企业网站的英译为主要讨论对象,将其置身于目前飞速发展的语言服务大背景下,结合传统的网站文本翻译与网站本地化的过程,讨论在语言服务行业发展背景下企业网站翻译的三大趋势,为我国“走出去”进程中的企业网站建设和翻译提供启示和借鉴。关键词:企业网站...
-
试论文化传播视野中的学报质量诉求
论文摘要:文化的创新发展,在一定意义上是传播方式和传播速度起着重要作用。文化传播有赖于作者提供高质量的信息,学报质量的优劣,作者是一个重要因素,其精髓体现在作者文稿的学术价值。编辑是传播的主体,要旗帜鲜明地表明提倡什么,不提倡什么,同等对待每篇文稿,不偏名家...
-
初中美术教学中师生合作学习策略
初中美术教学实施师生合作学习的策略,既能帮助学生对美术加深理解,在课堂上提高学习效率,还能对美术这门学科形成独特的观点和看法,这对于培养学生的独立思考能力和审美能力有很大的帮助。摘要:随着我国新课改要求的发布,各个科目都需要对教学方式和手段进行改进,对于...