BSDソケットによるIPv6プログラミングを紐解く
|
|
|
- まいか やがい
- 7 years ago
- Views:
Transcription
1 BSD Socket による IPv6 プログラミングを 紐解く 株式会社リコー研究開発本部基盤技術開発センター大平浩貴 ( おおひらこうき ) 1
2 自己紹介 1999 年頃から IPv6 にかかわる IETF 行ったり 端末 OS 触ったり 複合機のネットワークを触ったり IPsecやったり プログラミングはあまり得意ではないけど 2
3 今回の説明の概要 通信プログラムの基本 BSD Socket 元々 C 言語で作られたネットワークAPI 他の言語でもSocketから派生したAPIを持っていることが多い LLプログラマでも知識として知っておくことをお勧め 今回はクライアントに限定して説明 名前解決やフォールバックなど いろいろな知識が習得できる 別途サーバプログラミングも勉強すると さらに理解が深まります 3
4 IPv6 のプログラム解説 Socket プログラミングについて公開済み IPv6/IPv4 共存 WG アプリケーション IPv6 化検討 SWG プログラミングの解説は下記のとおり クライアント & サーバプログラミングの解説 上記協議会 Webサイトの解説 & サンプルプログラム 昨年のIW T7セッション 4
5 IPv6 プログラミングとは IPv4 対応プログラム ( シングルスタック ) ひとつのプロトコルに対応していた IPv6/IPv4 両対応プログラム ( デュアルスタック ) 複数のプロトコル 複数アドレスの中のどれでサーバに接続するか選ばなければならない ただ単に関数を変更するだけではだめどのプロトコル アドレスを使うか選択する機構が必要 5
6 Socket プリミティブの紹介 6
7 シングルスタック デュアルスタックそれぞれの流れ シングルスタックの流れ ホスト名解決 サービス名解決 Socket 生成 Connect 実行 デスクリプタによる入出力 クローズ デュアルスタックの流れ ホスト名解決 サービス名解決 得られた複数のプロトコル アドレスでループ Socket 生成 Connect 実行 接続失敗したら 次のプロトコル アドレスを選択 接続成功したら デスクリプタによる入出力 クローズ 7
8 ホスト名 サービス名解決 IPv4 ホスト名 :gethostbyname() で hostent 構造体を得る サービス : getservbyname() で servent 構造体を得る デュアルスタック getaddrinfo() で addrinfo 構造体のリストを得る リストの開放も可能で freeaddrinfo() 関数による 注意 gethostbyname2() は IPv6 を扱えるが使うべきではない 8
9 addrinfo 構造体と sockaddr 構造体 addrinfo 構造体 複数のアドレス情報をLinked Listで保持する 内部でアドレスを保持するsockaddr 構造体へのリンクを持つ sockaddr 構造体 各種アドレス情報を汎化した構造体 実体はsockaddr_in6(v6) やsockaddr_in(v4) 9
10 sockaddr 構造体の種別 sockaddr 構造体のサブクラス sockaddr 構造体はネットワークアドレスを記憶する sockaddr_in IPv4 アドレスの構造体 (in は Internet の略 ) sockaddr_in6 IPv6 アドレスの構造体 sockaddr_* いろいろなプロトコルのアドレス sockaddr_storage どのプロトコルのアドレスが書き込まれても記憶できるだけの十分な容量を持った構造体 10
11 逆引き IPv4 アドレス :gethostbyaddr() で hostent 型構造体を得る サービス :getservbyport() で servent 構造体を得る デュアルスタック getnameinfo() と addrinfo 構造体からホスト名やサービス名の文字列を取得できる いろいろなオプションが指定可能 NI_NOFQDN FQDN ではなくホスト名だけ NI_DGRAM UDP のポート情報を得る NI_NUMERICHOST 逆引きせずアドレスの文字列表現を返す etc 11
12 ソケット生成 コネクト デュアルスタックの場合 addrinfo 構造体を参照する 例 :addrinfo ai; プロトコルファミリ : ai->ai_family ソケットタイプ : ai->ai_socktype プロトコル : ai->ai_protocol アドレス : ai->ai_addr アドレス長 : ai->ai_addrlen 実例 s=socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol); connect(s, ai->ai_addr, ai->ai_addrlen); 12
13 自分自身の IP アドレスを得るには? 環境依存 UNIX ライク OS なら ioctl 関数を利用するのが一般的 オープンソース OS の場合は ifconfig のソースを参照するとよい FreeBSD の場合 /usr/src/sbin/ifconfig/* ubuntu の場合 net-tools パッケージ 13
14 実際のソースコードの紹介 14
15 シングルスタック デュアルスタックそれぞれの流れ シングルスタックの流れ ホスト名解決 サービス名解決 Socket 生成 Connect 実行 デスクリプタによる入出力 クローズ デュアルスタックの流れ ホスト名解決 サービス名解決 得られた複数のプロトコル アドレスでループ Socket 生成 Connect 実行 接続失敗したら 次のプロトコル アドレスを選択 接続成功したら デスクリプタによる入出力 クローズ 15
16 実際のソースコード (1) Include の指定 #include <stdio.h> #include <errno.h> #include <unistd.h> #include <stdlib.h> #include <netdb.h> #include <string.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> 16
17 実際のソースコード (2) 変数定義 ~ 名前解決 struct addrinfo hints, *res, *res0; const char * target_name =" const char * target_port = "http"; int s, error; size_t l;char buf[256]; memset(&hints, 0, sizeof(hints)); hints.ai_family = AF_UNSPEC; hints.ai_socktype = SOCK_STREAM; error = getaddrinfo(target_name, target_port, &hints, &res0); if(error){ exit(1); } 17
18 実際のソースコード (3) 接続 ~ フォールバック ~ 通信 ~ 終了 for (res = res0; res; res = res->ai_next) { fprintf(stderr, "trying %s port %s n", hbuf, sbuf); s = socket(res->ai_family, res->ai_socktype, res->ai_protocol); if (s < 0) continue; if (connect(s, res->ai_addr, res->ai_addrlen) < 0) { close(s); continue; } write(s,"get / r n", 7); while ((l = read(s, buf, sizeof(buf))) > 0) write(stdout_fileno, buf, l); close(s); exit(0); } exit(1); 18
19 フォールバック問題 19
20 フォールバック問題 フォールバックとは 前述の名前解決結果の Linked List を辿ること 問題 タイムアウトを繰り返すので 接続まで時間がかかる 原因 サーバがそのプロトコル IP アドレスでアプリサービスをしていない サーバ側に問題 ネットワークの接続性が失われている 経路に問題 サーバへの到達姓のないアドレスで通信をしようとしている クライアント側に問題 20
21 フォールバックの回避 サーバがサービスしていない IP アドレスは DNS に登録しない IP の接続性を健全に保つ ポリシーテーブルを変更する ポリシーテーブルの参照法は下記のとおり Windows: Linux: FreeSBD: netsh interface ipv6 show prefixpolicies ip addrlavel show ip6addrctl show サーバ 経路 クライアントと さまざまな要素が考えられる 過渡期なので注意が必要 21
22 最後に 22
23 最後に C 言語によるクライアントプログラミングのまとめ 基本的な流れはわかりやすい 名前解決 ~ 接続 ~ 通信 ~ 切断 名前解決のデータ構造に注意 Linked List 形式でアドレスを保持 多彩なアドレスを構造体の継承で表現している IPv6 はどんどん浸透してきている アプリで IPv6 を先取りして 時代もお客様も先取りしよう 何かありましたらいつでもこちらまで [email protected] facebook: 23
IPv6 普及 高度化推進協議会 IPv6/IPv4 共存 WG アプリケーションの IPv6 対応検討 SWG 2011 年 9 月に発足 IPv6 移行ガイドライン策定 IPv6 Ready ロゴプログラム Web アプリケーションガイドライン策定基盤となる Socket プログラミングの IP
IPv6 アプリケーション / プログラムの 注意点 Socket を使用した IPv6 プログラミングの基礎から IPv6 普及 高度化推進協議会 IPv6/IPv4 共存 WG アプリ IPv6 化検討 SWG メンバー Ruri Hiromi 1 IPv6 普及 高度化推進協議会 IPv6/IPv4 共存 WG アプリケーションの IPv6 対応検討 SWG 2011 年 9 月に発足 IPv6
(Microsoft PowerPoint - IPv6_summit_r2.ppt [\214\335\212\267\203\202\201[\203h])
IPv6 アプリケーションサービスの作り方 IPv6 普及 高度化推進協議会アプリケーションの IPv6 対応検討 SWG エヌ ティ ティ ソフトウェア株式会社高宮紀明 Asterisk は米国 Digium 社の登録商標または商標です そのほかの記載の会社名 製品名は それぞれの会社の商標もしくは登録商標です 2 IPv6 とその必要性 1990 年代よりインターネットが流行した IP が多数使われるようになった
情報ネットワーク演習 2007 年 10 月 11 日 ( 木 )
情報ネットワーク演習 2007 年 10 月 11 日 ( 木 ) 本日の内容 課題 5 HTTP クライアントハイパーテキストへのアクセス 課題 4 HTTP サーバのビルド 課題 3 ソケットを用いたプロセス間通信 課題 1 低水準入出力 課題 2 名前解決 ( ホスト名 IP アドレス ) 2 第 2 回課題 実施内容と意図 IP アドレスとホスト名の相互変換をするプログラムを拡張する. この課題を通じて,IPv4
Microsoft PowerPoint pptx
情報ネットワーク演習 2009 年 10 月 8 日 ( 木 ) 本日の内容 課題 5 HTTPクライアントハイパーテキストへのアクセス 課題 4 HTTP サーバのビルド 課題 3 ソケットを用いたプロセス間通信 課題 1 低水準入出力 課題 2 名前解決 ( ホスト名 IPアドレス ) 2 第 2 回課題 実施内容と意図 IPアドレスとホスト名の相互変換をするプログラムを拡張する. この課題を通じて,IPv4における名前解決の方法,
TCP UDP TCP UDP send()sendto()sendmsg() recv()recvfrom()recvmsg() OS Passive Active TCP UDP IP TCP UDP MTAMail Transf
3 -- 7 2011 2 TCPUDP APIApplication Programming Interface BSD UNIX C System V UNIX XTIX /Open Transport Interface XTI TCP/IP ISO OSI XTI TCP/IP OSI TCP UDP API API API API UNIX Windows 7-1 TCP UDP 7-2
AsteriskのIPv6対応について
Asterisk の IPv6 対応について エヌ ティ ティ ソフトウェア株式会社高宮紀明 Asterisk は米国 Digium 社の登録商標または商標です そのほかの記載の会社名 製品名は それぞれの会社の商標もしくは登録商標です 2 自己紹介 1999 年より IPv6 にかかわり始める 2000 年 IPv6 対応ルータを販売 第一回 TAHI プロジェクト相互接続試験に参加 USAGI
演算増幅器
ネットワークプログラミングの続き前回はチャットを行うプログラムを作成し ネットワークを利用したプログラミングの基本について学んだ 本日は 前回作成したプログラムを改良していく 具体的には 以下の2つの項目について習っていく ホスト名や IP アドレスの取得の方法 fork() システムコールを使い 子プロセスを作成する方法 チャットプログラムの改良 前回のプログラムを以下のように改良していく 太字部分が変更部分である
通信プログラムの試作ーーー UDP を用いたじゃんけんゲームシステム ーーーー裘彬濱 南山大学情報理工学部 ソフトウェア工学科青山研究室
通信プログラムの試作ーーー UDP を用いたじゃんけんゲームシステム ーーーー裘彬濱 南山大学情報理工学部 ソフトウェア工学科青山研究室 1:UDP を用いたじゃんけんゲームシステムの概要 本システムは通信プロトコル UDP を用いた簡単なじゃんけんゲームシステムであり 単一のユーザ ( クライアント ) が参加し パソコン ( サーバ ) とじゃんけんゲームするシステムである 本システムはユーザがゲームに参加できる時間を制限しており
バイオプログラミング第 1 榊原康文 佐藤健吾 慶應義塾大学理工学部生命情報学科
バイオプログラミング第 1 榊原康文 佐藤健吾 慶應義塾大学理工学部生命情報学科 ポインタ変数の扱い方 1 ポインタ変数の宣言 int *p; double *q; 2 ポインタ変数へのアドレスの代入 int *p; と宣言した時,p がポインタ変数 int x; と普通に宣言した変数に対して, p = &x; は x のアドレスのポインタ変数 p への代入 ポインタ変数の扱い方 3 間接参照 (
Microsoft Word - EGX100によるH663通信手引
PowerLogic EthernetGateway(EGX100) による H663 データ取得早分かり手引き 2011 年 11 月 11 日 JAVASYS 1. 概要 H663 は RS-485 によって上位機と通信し データのやりとりを行います 本仕様書は PowerLogic EthernetGateway(EGX100) によるデータ取得の開発に関して簡単な手引きを記述します EGX100
情報ネットワーク演習 2006年10月5日
情報ネットワーク演習 村川猛彦 2006 年 10 月 12 日 ( 木 ) 1 本日の内容 課題 5 HTTP クライアントハイパーテキストへのアクセス 課題 4 HTTP サーバのビルド 課題 3 ソケットを用いたプロセス間通信 課題 1 低水準入出力 課題 2 名前解決 ( ホスト名 IP アドレス ) 2 第 2 回課題 実施内容と意図 IP アドレスとホスト名の相互変換をするプログラムを拡張する.
(Microsoft PowerPoint - janog23-server-ipv6-rel-public.ppt [\214\335\212\267\203\202\201[\203h])
デュアルスタックの苦悩 : サーバ編 JANOG23 高知 白畑 ( 株 ) クララオンライン 真 Copyright 2009 Shin Shirahata and Clara Online, Inc. www.clara.jp クライアントだけじゃなくてサーバも対応対応しなきゃ Copyright 2009 Shin Shirahata and Clara
目次 はじめに 4 概要 4 背景 4 対象 5 スケジュール 5 目標点 6 使用機材 6 第 1 章 C# 言語 7 C# 言語の歴史 7 基本構文 8 C 言語との違い 9 Java 言語との違い 10.Netフレームワーク 10 開発資料 10 第 2 章 Mono 11 Monoの歴史 1
ポリテクセンター埼玉セミナー資料 組込み技術者のための C# Monoを用いたマルチプラットフォームアプリケーション開発技術 第 1.2 版 2018 年 8 月 Microbrains Inc. 渋谷 目次 はじめに 4 概要 4 背景 4 対象 5 スケジュール 5 目標点 6 使用機材 6 第 1 章 C# 言語 7 C# 言語の歴史 7 基本構文 8 C 言語との違い 9 Java 言語との違い
1) // 2) I/O 3) Japan Advanced Institute of Science and Technology 2013/07/26 1
I441 2013/07/26 Dependable Network Innovation Center, Japan Advanced Institute of Science and Technology 1) // 2) I/O 3) Japan Advanced Institute of Science and Technology 2013/07/26 1 1) Comer: Internetworking
PowerPoint プレゼンテーション
プログラミング応用演習 第 4 回再帰的構造体 プログラミングを 余談 : 教えることの難しさ 丁寧に説明しないと分かってもらえない 説明すると 小難しくなる学生が目指すべきところプログラム例を説明されて理解できる違うやり方でも良いので自力で解決できる おっけー 動けば良い という意識でプログラミング 正しく動くことのチェックは必要 解答例と自分のやり方との比較が勉強になる 今日のお題 再帰的構造体
プログラミングI第10回
プログラミング 1 第 10 回 構造体 (3) 応用 リスト操作 この資料にあるサンプルプログラムは /home/course/prog1/public_html/2007/hw/lec/sources/ 下に置いてありますから 各自自分のディレクトリにコピーして コンパイル 実行してみてください Prog1 2007 Lec 101 Programming1 Group 19992007 データ構造
Chapter - UDP のプログラミング - UDP ネットワークプログラミングで TCP の次に多い通信方法が UDP だと思われます UDP はデータが宛先に届いたかどうかを関知しないため データの到着を保障しない点が TCP と異なります そのため UDP を使った通信を行うプログラムを書
Chapter UDP の特徴は信頼性を犠牲としたリアルタイム性です サーバに 負荷をかけずに多くの受信者にパケットを送信できるブロードキャストやマルチキャストが利用できるため 音声や映像を転送するアプリケーションなどに使われます また DNSに対するqueryにも使われています Chapter では まず最初にUDPによる単純な受信サンプルと送信サンプルを示し 次にブロードキャストとマルチキャストによるサンプルプログラムを示します
クライアントOSのIPv6実装事情
クライアント OS の IPv6 実装事情 ネットワークプラットフォーム研究開発グループ 北口善明 2009/06/12 Copyright 2009 Y. Kitaguchi & Intec NetCore, Inc. All Rights Reserved. 目次 クラゕント OS の IPv6 対応状況 IPv6 対応 OS における挙動整理 DNSリゾルバの実装 ゕドレス選択機構の実装 自動トンネリングの実装
Chapter - TCP通信の基礎 - TCPによるプログラミングの流れ TCPによる通信は サーバとクライアントの者間で行われます クライアントがサーバに TCPによるプログラミングの流れ 話通信は 両端の紙コップを糸で繋いではじめて利用可能になります ソケットも同様で 通 信相手のソケットと仮
Chapter Chapter では TCP を利用して通信を行うプログラムを書く方法 の概要を示します インターネットで利用される通信のほとんどがTCPによって行われています まず最初にTCPによる通信プログラミング概要を示し 次に単純なサーバとクライアントのサンプルコードを示します また よくある注意点などを解説したうえで 最後は疑似 Webサーバとクライアントまでを作成します Linux_0_08_0.indd
IIJ GIOリモートアクセスサービス Windows 7 設定ガイド
続L2TP/IPsec 接IIJ GIO リモートアクセスサービス Windows 7 設定ガイド Version 1.0 PPTP 接続SSTP 接続クラウド お客様窓口 IIJ GIOリモートアクセスサービスでは あらかじめ登録された運用管理担当者からのお問い合わせのみ受け付けています 運用管理担当者ではない方からのお問い合わせは受け付けておりませんので お客様の IIJ GIOリモートアクセス管理者にご相談ください
memo
数理情報工学演習第一 C プログラミング演習 ( 第 5 回 ) 2015/05/11 DEPARTMENT OF MATHEMATICAL INFORMATICS 1 今日の内容 : プロトタイプ宣言 ヘッダーファイル, プログラムの分割 課題 : 疎行列 2 プロトタイプ宣言 3 C 言語では, 関数や変数は使用する前 ( ソースの上のほう ) に定義されている必要がある. double sub(int
ソケット API プロセス間通信の汎用 API プロセス : プログラムのひとつの単位 ex)./a.out とかやると 1 つのプロセスが立ち上がる ソケット API IPv4 IPv6 UNIX domain (UNIX 計算機内プロセス間通信 ) 本実験では IPv4 の TCP および UD
ソケットプログラミング ソケット API プロセス間通信の汎用 API プロセス : プログラムのひとつの単位 ex)./a.out とかやると 1 つのプロセスが立ち上がる ソケット API IPv4 IPv6 UNIX domain (UNIX 計算機内プロセス間通信 ) 本実験では IPv4 の TCP および UDP を, ソケット API を通じて行う クライアントとサーバ 電話を用いた比喩
IP L09( Tue) : Time-stamp: Tue 14:52 JST hig TCP/IP. IP,,,. ( ) L09 IP (2017) 1 / 28
L09(2017-11-21 Tue) : Time-stamp: 2017-11-21 Tue 14:52 JST hig TCP/IP. IP,,,. http://hig3.net L09 (2017) 1 / 28 9, IP, - L09 (2017) 2 / 28 C (ex. ) 1 TCP/IP 2 3 ( ) ( L09 (2017) 3 / 28 50+5, ( )50+5. (
Taro-ポインタ変数Ⅰ(公開版).j
0. 目次 1. ポインタ変数と変数 2. ポインタ変数と配列 3. ポインタ変数と構造体 4. ポインタ変数と線形リスト 5. 問題 問題 1 問題 2-1 - 1. ポインタ変数と変数 ポインタ変数には 記憶領域の番地が格納されている 通常の変数にはデータが格納されている 宣言 int *a; float *b; char *c; 意味ポインタ変数 aは 整数型データが保存されている番地を格納している
Webサービス, 軽量プログラミング言語のIPv6対応Perl編
Internet Week 2013 T2 アプリケーション サービスのIPv6 対 応 軽 量 プログラミング 言 語 のIPv6 対 応 Perl 編 2013 年 11 月 26 日 技 術 本 部 技 術 開 発 部 渡 辺 露 文 1. Perlの 概 要 - 1 - 1.1. Perlの 概 要 Perl のバージョン 最 新 版 (Perl5): 5.18.1 (2013/8/12リリース)
画像ファイルを扱う これまでに学んだ条件分岐, 繰り返し, 配列, ファイル入出力を使って, 画像を扱うプログラムにチャレンジしてみよう
第 14 回 応用 情報処理演習 ( テキスト : 第 10 章 ) 画像ファイルを扱う これまでに学んだ条件分岐, 繰り返し, 配列, ファイル入出力を使って, 画像を扱うプログラムにチャレンジしてみよう 特定色の画素の検出 ( テキスト 134 ページ ) 画像データが保存されているファイルを読み込んで, 特定色の画素の位置を検出するプログラムを作成しなさい 元画像生成画像 ( 結果の画像 )
AquesTalk プログラミングガイド
AquesTalk プログラミングガイド ( 株 ) アクエスト 1. 概要 本文書は 規則音声合成ライブラリ AquesTalk をアプリケーションに組み込んで使用するためのプログラミングに関して 方法および注意点を示したものです AquesTalk には 2 種類のライブラリがあります 音声データをメモリ上に生成するものと サウンドデバイスに出力する 2 種類があります 使用するアプリケーションに応じて選択してください
4 実験結果 // 用意されたヘッダファイル #include < stdio.h> #include < fcntl.h> #include < netdb.h> #include < sys/types.h> #include < sys/socket.h> #include < sys/sta
実験 6 通信基礎実験 2 1 目的 ネットワークを通じてデータ転送を行うことを体験的に学ぶために 本実験ではT CP/IPプロトコルを使い ワークステーション間で通信を行うクライアントサーバモデルのプログラムを作成する 今回は文字データだけでなく 音声データも使う事により より実践的なプログラミングを行う 2 解説 前実験と同様なので省略する 3 実験 実験 1で作成したプログラムを利用して マイクから入力した音声信号をサーバへ送信するクライアントプログラムを作成せよ
Microsoft PowerPoint - 第5章補足-DB2組み込みSQL.ppt
開発編第 5 章補足 DB2 組み込み SQL 本書に含まれている情報は 正式な IBM のテストを受けていません また 明記にしろ 暗黙的にしろ なんらの保証もなしに配布されるものです この情報の使用またはこれらの技術の実施は いずれも 使用先の責任において行われるべきものであり それらを評価し 実際に使用する環境に統合する使用先の判断に依存しています それぞれの項目は
プログラミング基礎
C プログラミング Ⅰ 授業ガイダンス C 言語の概要プログラム作成 実行方法 授業内容について 授業目的 C 言語によるプログラミングの基礎を学ぶこと 学習内容 C 言語の基礎的な文法 入出力, 変数, 演算, 条件分岐, 繰り返し, 配列,( 関数 ) C 言語による簡単な計算処理プログラムの開発 到達目標 C 言語の基礎的な文法を理解する 簡単な計算処理プログラムを作成できるようにする 授業ガイダンス
Microsoft Word - no15.docx
7. ファイルいままでは プログラムを実行したとき その結果を画面で確認していました 簡単なものならそれでもいいのですか 複雑な結果は画面で見るだけでなく ファイルに保存できればよいでしょう ここでは このファイルについて説明します 使う関数のプロトタイプは次のとおりです FILE *fopen(const char *filename, const char *mode); ファイルを読み書きできるようにする
目次 Windows 2003 への新規インストール... 3 Windows 2008 への新規インストール... 4 Windows 2012 への新規インストール... 6 Microsoft SQL のサポート... 8 IPv4/IPv6 のサポート... 8 制限事項... 9 Web
トレンドマイクロ株式会社は 本書および本書に記載されている製品を予告なしに変更する権利を有しています ソフトウェアをインストールして使用する前に Readme ファイル リリースノート および最新のユーザドキュメントを確認してください これらは 次のトレンドマイクロ Web サイトから入手できます http://downloadcenter.trendmicro.com/index.php?regs=jp
ファイル入出力
C プログラミング Ⅱ の基礎 とは ファイルへデータを書き込んだり ( 出力 ), ファイルからデータを読み込んだり ( 入力 ) する C 言語では キーボードからの入力 画面への出力と同じようなコードで 処理を実現できる プログラム 入力 出力 ファイル 出力 入力 2 入出力の基本 ストリーム プログラム上で様々な装置への入出力を行う機構様々な入出力装置を統一的な方法で扱うことができる ハードディスクなどではファイルデータによって入出力が行われる
AquesTalk Win Manual
AquesTalk Win マニュアル 株式会社アクエスト http://www.a-quest.com/ 1. 概要 本文書は 規則音声合成ライブラリ AquesTalk をアプリケーションに組み込んで使用するためのプログラミングに関して 方法および注意点を示したものです AquesTalk には 2 種類のライブラリがあります 音声データをメモリ上に生成するものと サウンドデバイスに出力する 2
ご利用のコンピュータを設定する方法 このラボの作業を行うには 事前設定された dcloud ラボを使用するか 自身のコンピュータをセットアップします 詳細については イベントの事前準備 [ 英語 ] とラボの設定 [ 英語 ] の両方のモジュールを参照してください Python を使用した Spar
ご利用のコンピュータを設定する方法 このラボの作業を行うには 事前設定された dcloud ラボを使用するか 自身のコンピュータをセットアップします 詳細については イベントの事前準備 [ 英語 ] とラボの設定 [ 英語 ] の両方のモジュールを参照してください Python を使用した Spark API との通信 このラーニングモジュールでは Python を使用した Spark API とのインターフェイスを扱います
RX ファミリ用 C/C++ コンパイラ V.1.00 Release 02 ご使用上のお願い RX ファミリ用 C/C++ コンパイラの使用上の注意事項 4 件を連絡します #pragma option 使用時の 1 または 2 バイトの整数型の関数戻り値に関する注意事項 (RXC#012) 共用
RX ファミリ用 C/C++ コンパイラ V.1.00 Release 02 ご使用上のお願い RX ファミリ用 C/C++ コンパイラの使用上の注意事項 4 件を連絡します #pragma option 使用時の 1 または 2 バイトの整数型の関数戻り値に関する注意事項 (RXC#012) 共用体型のローカル変数を文字列操作関数で操作する場合の注意事項 (RXC#013) 配列型構造体または共用体の配列型メンバから読み出した値を動的初期化に用いる場合の注意事項
Microsoft Word - Cプログラミング演習(12)
第 12 回 (7/9) 4. いくつかのトピック (5)main 関数の引数を利用したファイル処理 main 関数は, 起動する環境から引数を受け取ることができる 例えば 次に示すように,main 関数に引数を用いたプログラムを作成する 01 /* sample */ 02 /* main 関数の引数 */ 03 #include 04 05 main(int argc, char
ほっといたら IPv4 運用に影響する IPv6 の話 アンカーテクノロジー株式会社 國武功一
ほっといたら IPv4 運用に影響する IPv6 の話 アンカーテクノロジー株式会社 國武功一 そろそろ IPv6 の足音が ( いや まじで ) IPv6 アドレス取得国は 100 カ国を超えた Google も IPv6 アドレスを取得済 IPv6 アドレスの取得率からいうと日本は一位の座からとっくに滑り落ちてる そろそろ本当に IPv4 アドレスがやばいらしい IETF ではすでに IPv6
第 2 章インタフェース定義言語 (IDL) IDL とは 言語や OS に依存しないインタフェース定義を行うためのインタフェース定義言語です CORBA アプリケーションを作成する場合は インタフェースを定義した IDL ファイルを作成する必要があります ここでは IDL の文法や IDL ファイ
第 2 章インタフェース定義言語 (IDL) IDL とは 言語や OS に依存しないインタフェース定義を行うためのインタフェース定義言語です CORBA アプリケーションを作成する場合は インタフェースを定義した IDL ファイルを作成する必要があります ここでは IDL の文法や IDL ファイルの作成方法 コンパイル方法について説明します IDL ファイルの作成にあたっては INTERSTAGE
Taro-スタック(公開版).jtd
0. 目次 1. 1. 1 配列によるの実現 1. 2 再帰的なデータ構造によるの実現 1. 3 地図情報処理 1. 4 問題 問題 1 グラフ探索問題 - 1 - 1. は データの出し入れが一カ所で行われ 操作は追加と削除ができるデータ構造をいう 出入口 追加 削除 操作 最初 111 追加 111 222 追加 111 222 333 追加 111 222 333 444 追加 111 222
Microsoft PowerPoint - CproNt02.ppt [互換モード]
第 2 章 C プログラムの書き方 CPro:02-01 概要 C プログラムの構成要素は関数 ( プログラム = 関数の集まり ) 関数は, ヘッダと本体からなる 使用する関数は, プログラムの先頭 ( 厳密には, 使用場所より前 ) で型宣言 ( プロトタイプ宣言 ) する 関数は仮引数を用いることができる ( なくてもよい ) 関数には戻り値がある ( なくてもよい void 型 ) コメント
ネットワークプログラミング
ネットワークプログラミング 千代浩司 高エネルギー加速器研究機構 素粒子原子核研究所 1 内容 クライアントアプリケーションを書けるようになろう 情報のありか 各種ユーティリティー 2 Protocol 参考書 TCP/IP Illustrated, Volume 1 (Stevens) Programming Unix Network Programming Volume 1 (3rd edition)
AquesTalk for WinCE プログラミングガイド
AquesTalk for WinCE プログラミングガイド ( 株 ) アクエスト 1. 概要 本文書は 規則音声合成ライブラリ AquesTalk for WinCE ( 以下 AquesTalk) をアプリケーションに組み込んで使用するためのプログラミングに関して 方法および注意点を示したものです AquesTalk には 2 種類のライブラリがあります 音声データをメモリ上に生成するものと
目次 はじめに KDDIのIPv6への取り組み auひかりのipv6 World IPv6 Dayに起きたこと World IPv6 Dayのその後 1
au ひかりの IPv6 対応について 2011.10.12 KDDI 株式会社 目次 はじめに KDDIのIPv6への取り組み auひかりのipv6 World IPv6 Dayに起きたこと World IPv6 Dayのその後 1 はじめに KDDIのIPv6への取り組み auひかりのipv6 World IPv6 Dayに起きたこと World IPv6 Dayのその後 2 KDDI の IPv6
問 2 ( 型変換 ) 次のプログラムを実行しても正しい結果が得られない 何が間違いかを指摘し 正しく修正せよ ただし int サイズが 2 バイト long サイズが 4 バイトの処理系での演算を仮定する #include <stdio.h> int main( void ) { int a =
問 1 配列の宣言整数型配列 data1 にデータが初期設定されている この配列 data1 のデータを下図のように 整数型配列 data2 に代入しなさい また data2 の内容を printf( "data2[0] = %d\n", data2[0] ); printf( "data2[5] = %d\n", data2[5] ); を用いて出力しなさい 実行結果 data2[0] = 76
rzab6pdf.ps
IBM i 7.3 IBM IBM i 7.3 IBM 215 IBM i 7.3 ( 5770-SS1) RISC CISC IBM IBM i Version 7.3 Programming Socket programming Copyright IBM Corporation 2001, 2015. ....... 1 IBM i 7.3............ 1 PDF.... 2......
エラー処理・分割コンパイル・コマンドライン引数
L10(2017-12-05 Tue) : Time-stamp: 2017-12-17 Sun 11:59 JST hig. recv/send http://hig3.net ( ) L10 (2017) 1 / 21 IP I swallow.math.ryukoku.ac.jp:13 = 133.83.83.6:13 = : IP ( = ) (well-known ports), :. :,.
AquesTalk2 Win マニュアル
株式会社 AQUEST http://www.a-quest.com/ AquesTalk2 Win Manual 1. 概要 本文書は 規則音声合成ライブラリ AquesTalk2 Win をアプリケーションに組み込んで使用するためのプログラミングに関しての方法および注意点を示したものです AquesTalk2 は 簡単に小型機器への組み込みが出来る音声合成ミドルウェアです このライブラリを用いることで
kiso2-03.key
座席指定はありません Linux を起動して下さい 第3回 計算機基礎実習II 2018 のウェブページか ら 以下の課題に自力で取り組んで下さい 計算機基礎実習II 第2回の復習課題(rev02) 第3回の基本課題(base03) 第2回課題の回答例 ex02-2.c include int main { int l int v, s; /* 一辺の長さ */ /* 体積 v
