Maple Professional
Maple Academic
Maple Student Edition
Maple Personal Edition
Maple Player
Maple Player for iPad
MapleSim Professional
MapleSim Academic
Maple T.A. - Testing & Assessment
Maple T.A. MAA Placement Test Suite
Möbius - Online Courseware
Machine Design / Industrial Automation
Aerospace
Vehicle Engineering
Robotics
Power Industries
System Simulation and Analysis
Model development for HIL
Plant Modeling for Control Design
Robotics/Motion Control/Mechatronics
Other Application Areas
Mathematics Education
Engineering Education
High Schools & Two-Year Colleges
Testing & Assessment
Students
Financial Modeling
Operations Research
High Performance Computing
Physics
Live Webinars
Recorded Webinars
Upcoming Events
MaplePrimes
Maplesoft Blog
Maplesoft Membership
Maple Ambassador Program
MapleCloud
Technical Whitepapers
E-Mail Newsletters
Maple Books
Math Matters
Application Center
MapleSim Model Gallery
User Case Studies
Exploring Engineering Fundamentals
Teaching Concepts with Maple
Maplesoft Welcome Center
Teacher Resource Center
Student Help Center
持続中断のプロトコル と Sockets パッケージ
説明
Sockets パッケージにあるいくつかのルーチンは、デフォルトではいつまでもブロックを行います。多くの場合、追加の timeout 引数を受け渡すことで、あるルーチンがブロックを行う時間に制限を設けることが可能です。timeout 引数は、データの有効性を待つ間、ブロックを行う秒数を指示します。この時間を超えると、ルーチンは値 false を返します。
いくつかの場合では、ブロックを行うルーチンに対して、それぞれに全ての呼び出し側で timeout の値を保持することは、都合が悪い(またエラーを引き起こしやすい)状態になります。このため、このような種類のルーチンのほとんどは、「持続中断のプロトコル」に従います。
手続き Configure を timeout オプションと共に使用することで、ソケット接続に「持続中断」の値を設定することが可能です。timeout オプションのデフォルトの値は、-1 です。これは、その接続に持続中断の値を設定しないということを意味します。
Configure( sid, 'timeout' = secs ) の形式の呼び出しを用いて、ある接続に対して持続中断の設定を行うことが可能です。ここで、sid は設定を行いたい接続のソケット ID、secs はブロックに対して設定する持続中断の秒数を表します。その接続上で後で呼び出されるルーチンすべてについて、secs の指定は、オプションパラメータ timeout と本質的に等しいものです。しかし、持続中断の値は、呼び出し側の一時的な中断の指定を無視することが可能です。
持続中断の値は、Configure( sid, 'timeout' = -1 ) を用いてオプションの値を -1 に設定することで、ソケットの接続から削除が可能です。
例
デフォルトでは、接続上に持続中断の設定は行われていません。
with( Sockets ): sid := Open( "localhost", "echo" );
Configure( sid, 'timeout' );
参照
用語集 - socket, Sockets パッケージの紹介, Sockets[Configure], Sockets[Peek], Sockets[Read], Sockets[ReadLine], Sockets[ReadBinary]
Download Help Document