印刷

Size: px
Start display at page:

Download "印刷"

Transcription

1 Socket クラス Socket クラスの利用 解説 Socket クラスには ネットワーク通信の為のメソッドとプロパティが豊富に用意されて居る Socket クラスを使用すると ProtocolType 列挙体で示されて居る各種の通信プロトコルを使い 同期や非同期でデータを転送出来る Socket クラスは.NET Framework での非同期メソッドの名前付け規則に従って居る 例えば 同期の Receive メソッドは非同期の BeginReceive メソッドと EndReceive メソッドに対応する 実行中に 1 つのスレッドしか必要無い場合に使用するメソッドを次に示す 此等のメソッドは同期操作モードでの使用を想定して居る TCP 等のコネクション指向のプロトコルを使用する場合 サーバーは Listen メソッドを使用して接続を待機する Accept メソッドは受信接続要求を処理して リモートホストとのデータ通信に使用出来る Socket を返す 此の返された Socket を使用して Send メソッドや Receive メソッドを呼び出す ローカル IP アドレスとポート番号を指定する場合は Listen メソッドの前に Bind メソッドを呼び出す 基に成るサービスプロバイダに依り空きポートが割り当てられる様にする場合は ポート番号に 0 を使用する 待機中のホストに接続する必要が有る場合は Connect メソッドを呼び出す データを送受信するには Send メソッドや Receive メソッドを呼び出す UDP 等のコネクションレスのプロトコルを使用して居る場合は 接続を待機する必要は無い ReceiveFrom メソッドを呼び出して 受信データグラムを受け取る データグラムをリモートホストに送信するには SendTo メソッドを使用する 実行中に個別のスレッドを使用して通信を処理する場合に使用するメソッドを次に示す 此等のメソッドは 非同期操作モードでの使用を想定して居る TCP 等のコネクション指向のプロトコルを使用する場合は Socket メソッド BeginConnect メソッド 及び EndConnect メソッドを使用して待機中のホストと通信する データの非同期的な送受信には BeginSend メソッドと EndSend メソッド 又は BeginReceive メソッドと EndReceive メソッドを使用する BeginAccept 及び EndAccept を使用すると 受信接続要求を処理出来る UDP 等のコネクションレスのプロトコルを使用して居る場合は BeginSendTo 及び EndSendTo を使用してデータグラムを送信する データグラムの受信には BeginReceiveFrom と EndReceiveFrom を使用する ソケット上で複数の非同期動作を実行する場合 各動作の実行は開始された順に完了するとは限らない データの送受信が完了したら Shutdown メソッドを使用して Socket を無効にする Shutdown を呼び出してから Close メソッドを呼び出して Socket に関連付けられて居る総てのリソースを解放する Socket クラスを使用すると SetSocketOption メソッドを使用して Socket を設定出来る 此等の設定を取得するには GetSocketOption メソッドを使用する -1-

2 比較的単純なアプリケーションを記述して居り 最高のパフォーマンスを必要と仕無い場合は TcpClient TcpListener 及び UdpClient を使用する事を検討すると良い 此等のクラスには Socket 通信を行う為のより単純で解り易いインターフェイスが用意されて居る Windows Mobile for Pocket PC Windows Mobile for Smartphone Windows CE プラットフォームでは 総てのデバイスのオペレーティングシステムで 総てのソケットオプションがサポートされて居る訳では無い 使用例 Socket クラスを使用して データを HTTP サーバーに送信し 応答を受信する方法を 次のコード例に示す 此の例は 総てのページを受信する迄 ブロックする Imports System Imports System.Text Imports System.IO Imports System.Net Imports System.Net.Sockets Imports Microsoft.VisualBasic Public Class GetSocket Private Shared Function ConnectSocket(server As String, port As Integer) As Socket Dim s As Socket = Nothing Dim hostentry As IPHostEntry = Nothing ' ホスト関連情報の取得 hostentry = Dns.GetHostEntry(server) ' アドレスリストよりサポートされて居るアドレスファミリーを取得 Dim address As IPAddress For Each address In hostentry.addresslist Dim endpoint As New IPEndPoint(address, port) Dim tempsocket As New Socket( _ endpoint.addressfamily, SocketType.Stream, ProtocolType.Tcp) tempsocket.connect(endpoint) If tempsocket.connected Then s = tempsocket Exit For End If Next address Return s End Function -2-

3 ' 指定のサーバにホームページコンテンツを要求するジェネラルプロシージャ Private Shared Function SocketSendReceive(server As String, port As Integer) As String ' サーバに書き込む為の設定 Dim ascii As Encoding = Encoding.ASCII Dim request As String = "GET / HTTP/1.1" + ControlChars.Cr + ControlChars.Lf + "Host: " _ + server + ControlChars.Cr + ControlChars.Lf + "Connection: Close" + ControlChars.Cr _ + ControlChars.Lf + ControlChars.Cr + ControlChars.Lf Dim bytessent As [Byte]( ) = ascii.getbytes(request) Dim bytesreceived(255) As [Byte] ' ソケット接続の生成 Dim s As Socket = ConnectSocket(server, port) If s Is Nothing Then Return "Connection failed" End If ' サーバに要求の送信 s.send(bytessent, bytessent.length, 0) ' サーバのホームページコンテンツを受信 Dim bytes As Int32 ' 最初の 256 バイトの読込 Dim page as [String] = "Default HTML page on " + server + ":" _ + ControlChars.Cr + ControlChars.Lf ' ページ送信迄のブロック Do bytes = s.receive(bytesreceived, bytesreceived.length, 0) page = page + Encoding.ASCII.GetString(bytesReceived, 0, bytes) Loop While bytes > 0 Return page End Function ' C スタイルの main 関数へのデリゲートのエントリポイント Public Overloads Shared Sub Main( ) Main(System.Environment.GetCommandLineArgs()) End Sub Overloads Private Shared Sub Main(args() As String) Dim host As String Dim port As Integer = 80 If args.length = 1 Then ' 引数にサーバ名が指定されて居ない場合は 規定で現在のサーバを使用 host = Dns.GetHostName() Else -3-

4 host = args(1) End If Dim result As String = SocketSendReceive(host, port) Console.WriteLine(result) End Sub 'Main End Class using System; using System.Text; using System.IO; using System.Net; using System.Net.Sockets; public class GetSocket private static Socket ConnectSocket(string server, int port) Socket s = null; IPHostEntry hostentry = null; // ホスト関連情報の取得 hostentry = Dns.GetHostEntry(server); // アドレスリストよりサポートされて居るアドレスファミリーを取得 foreach(ipaddress address in hostentry.addresslist) IPEndPoint ipe = new IPEndPoint(address, port); Socket tempsocket = new Socket(ipe.AddressFamily, SocketType.Stream, ProtocolType.Tcp); tempsocket.connect(ipe); if(tempsocket.connected) s = tempsocket; break; else continue; return s; -4-

5 // 指定のサーバにホームページコンテンツを要求するジェネラルプロシージャ private static string SocketSendReceive(string server, int port) string request = "GET / HTTP/1.1 r nhost: " + server + " r nconnection: Close r n r n"; Byte[] bytessent = Encoding.ASCII.GetBytes(request); Byte[] bytesreceived = new Byte[256]; // ソケット接続の生成 Socket s = ConnectSocket(server, port); if (s == null) return ("Connection failed"); // サーバに要求の送信 s.send(bytessent, bytessent.length, 0); // サーバのホームページコンテンツを受信 int bytes = 0; string page = "Default HTML page on " + server + ": r n"; // ページ送信迄のブロック do bytes = s.receive(bytesreceived, bytesreceived.length, 0); page = page + Encoding.ASCII.GetString(bytesReceived, 0, bytes); while (bytes > 0); return page; public static void Main(string[] args) string host; int port = 80; if (args.length == 0) // 引数にサーバ名が指定されて居ない場合は 規定で現在のサーバを使用 host = Dns.GetHostName(); else host = args[0]; string result = SocketSendReceive(host, port); Console.WriteLine(result); -5-

6 ソケットを作成する方法 ソケットを使用してリモートデバイスと通信するには プロトコル情報とネットワークアドレス情報を使用して事前にソケットを初期化して置く必要が有る Socket クラスのコンストラクタには アドレスファミリ ソケットの種類 及び ソケットが接続を行う為に使用するプロトコルの種類を指定するパラメータが有る 使用例 インターネット等の TCP/IP ベースのネットワーク上で通信する為に使用出来るソケットの作成例を次に示す Dim s as New Socket(AddressFamily.InterNetwork, _ SocketType.Stream, ProtocolType.Tcp) Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); TCP の代わりに UDP を使用する場合は プロトコルの種類を 次の例の様に変更する Dim s as New Socket(AddressFamily.InterNetwork, _ SocketType.Dgram, ProtocolType.Udp) Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); AddressFamily 列挙体は Socket クラスがネットワークアドレスを解決する為に使用する標準のアドレスファミリを指定する 例えば AddressFamily.InterNetwork メンバは IP バージョン 4 アドレスファミリを指定する メンバ名 AppleTalk Atm Banyan Ccitt Chaos Cluster DataKit DataLink DecNet Ecma FireFox HyperChannel Ieee12844 ImpLink 説明 AppleTalk アドレスネイティブ ATM サービスアドレス Banyan アドレス X.25 等 CCITT プロトコルのアドレス MIT CHAOS プロトコルのアドレス Microsoft クラスタ製品のアドレス Datakit プロトコルのアドレスダイレクトデータリンクインターフェイスアドレス DECnet アドレス ECMA(European Computer Manufacturers Association) アドレス FireFox アドレス NSC Hyperchannel アドレス IEEE ワークグループアドレス ARPANET IMP アドレス -6-

7 InterNetwork InterNetworkV6 Ipx Irda Iso Lat Max NetBios NetworkDesigners NS Osi Pup Sna Unix Unknown Unspecified VoiceView IP version 4 のアドレス IP version 6 のアドレス IPX アドレス 又は SPX アドレス IrDA アドレス ISO プロトコルのアドレス LAT アドレス MAX アドレス NetBios アドレス Network Designers OSI ゲートウェイ対応プロトコルのアドレス Xerox NS プロトコルのアドレス ISO プロトコルのアドレス PUP プロトコルのアドレス IBM SNA アドレス Unix local to host アドレス未確認のアドレスファミリ指定のないアドレスファミリ VoiceView アドレス SocketType 列挙体は ソケットの種類を指定する 例えば SocketType.Stream メンバは データをフロー制御付きで送受信する場合に使用する標準のソケットを示す メンバ名説明 Dgram データグラムをサポートして居る 此れはコネクションレスで 固定 ( 通常は短い ) 最大長の 信頼性の無いメッセージで有る メッセージが失われるか複製されたり 正しい順序で受信されない可能性が有る Dgram 型の Socket はデータの送受信に先立って接続する必要が無く 複数のピアと通信出来る Dgram はデータグラムプロトコル (Udp) と InterNetworkAddressFamily を使用する Raw 基に成るトランスポートプロトコルへのアクセスをサポートする SocketTypeRaw を使用すると インターネットコントロールメッセージプロトコル (Icmp) やインターネットグループ管理プロトコル (Igmp) 等のプロトコルを使用して通信を行う事が出来る ユーザーのアプリケーションが送信時に完全な IP ヘッダーを提供する必要が有る 受信データグラムは IP ヘッダーとオプションを其の儘返す Rdm コネクションレスでメッセージ指向の 配信の信頼性が高いメッセージをサポートし データ内のメッセージ境界を維持する Rdm(Reliably Delivered Messages) メッセージは複製されず 順番に到着する 亦 メッセージが失われた時には送信元に通知される Rdm を使用して Socket を初期化した場合には データの送受信の前にリモートホストに接続して置く必要は無い Rdm では複数のピアと通信出来る Seqpacket ネットワーク全体に 順序付きバイトストリームの コネクション指向で信頼性の高い双方向転送を提供する Seqpacket はデータを複製せず データストリーム内の境界を維持する Seqpacket 型の Socket は単一のピアと通信し 通信を開始する前にリモートホスト接続を確立して置く必要が有る Stream データの複製と境界の維持を行う事無く 信頼性が高く双方向の 接続ベースのバイトストリームをサポートする 此の型の Socket は単一のピアと通信し 通信を開始する前にリモートホスト接続を確立して置く必要が有る Stream は伝送制御プロトコル (Tcp) ProtocolType 及び InterNetworkAddressFamily を使用する Unknown 不明な Socket 型を指定する -7-

8 ProtocolType 列挙体は Socket で通信する時に使用するネットワークプロトコルを指定する 例えば ProtocolType.Tcp はソケットが TCP を使用する事を示し ProtocolType.Udp はソケットが UDP を使用する事を示す メンバ名 説明 Ggp ゲートウェイ間プロトコル Icmp インターネットコントロールメッセージプロトコル IcmpV6 IPv6 用インターネットコントロールメッセージプロトコル Idp インターネットデータグラムプロトコル Igmp インターネットグループ管理プロトコル IP インターネットプロトコル IPSecAuthenticationHeader IPv6 認証ヘッダー IPSecEncapsulatingSecurityPayload IPv6 カプセル化セキュリティペイロードヘッダー IPv4 インターネットプロトコル Version 4 IPv6 インターネットプロトコル Version 6 (IPv6) IPv6DestinationOptions IPv6 終点オプションヘッダー IPv6FragmentHeader IPv6 フラグメントヘッダー IPv6HopByHopOptions IPv6 ホップバイホップオプションヘッダー IPv6NoNextHeader IPv6 次ヘッダー無し IPv6RoutingHeader IPv6 経路制御ヘッダー Ipx インターネットパケット交換プロトコル ND Net Disk プロトコル ( 非公式 ) Pup PARC Universal Packet プロトコル Raw Raw IP パケットプロトコル Spx 順次編成パック交換プロトコル SpxII 順次編成パック交換 Version 2 プロトコル Tcp 伝送制御プロトコル Udp ユーザーデータグラムプロトコル Unknown 未確認のプロトコル Unspecified 指定されて居ないプロトコル Socket を作成したら 其のソケットでリモートのエンドポイントへの接続を開始したり リモートデバイスからの接続を受け入れたり出来る -8-

9 クライアントソケットの使用 Socket を使用した通信を開始する前に アプリケーションとリモートデバイスとの間にデータパイプを作成して置く必要が有る ネットワークアドレスファミリやプロトコルには様々な種類が有るが 此の例では リモートサービスへの TCP/IP 接続を作成する方法を示す TCP/IP では サービスを一意に識別する為にネットワークアドレスとサービスポート番号を使用する ネットワークアドレスは ネットワーク上の特定のデバイスを識別し ポート番号は 其のデバイス上に有る特定のサービスを接続先と仕て識別する ネットワークアドレスとサービスポートの組み合わせはエンドポイントと呼ばれ.NET Framework では EndPoint クラスに依り表される サポートされて居るアドレスファミリ毎に EndPoint の子孫が定義されて居る IP アドレスファミリの場合は 此のクラスは IPEndPoint で有る Dns クラスは TCP/IP インターネットサービスを使用するアプリケーションにドメインネームサービスを提供する Resolve メソッドは DNS サーバーに照会し ユーザーが認識し易いドメイン名 ("host.contoso.com" 等 ) を数値のインターネットアドレス ( 等 ) にマップする Resolve メソッドは 要求された名前に関するアドレスとエイリアスの一覧を保持した IPHostEnty を返す 多くの場合 AddressList 配列で返された最初のアドレスを使用出来る host.contoso.com サーバーの IP アドレスを保持した IPAddress を取得するコード例を次に示す Dim iphostinfo As IPHostEntry = Dns.Resolve("host.contoso.com") Dim ipaddress As IPAddress = iphostinfo.addresslist(0) IPHostEntry iphostinfo = Dns.Resolve("host.contoso.com"); IPAddress ipaddress = iphostinfo.addresslist[0]; 一般的なサービスが使用するポート番号は IANA(Internet Assigned Numbers Authority) が定義して居る 詳細に付いては 英語情報 ) を参照され度い 其他のサービスでは 1,024 ~ 65,535 の範囲の登録済みポート番号を使用出来る host.contoso.com の IP アドレスをポート番号と組み合わせて 接続のリモートエンドポイントを作成するコード例を次に示す Dim ipe As New IPEndPoint(ipAddress, 11000) IPEndPoint ipe = new IPEndPoint(ipAddress,11000); リモートデバイスのアドレスを確認し 接続に使用するポートを選択すれば アプリケーションはリモートデバイスとの接続を確立しようとする 既存の IPEndPoint を使用してリモートデバイスに接続し 例外がスローされた場合には其の例外をキャッチするコード例を次に示す Try s.connect(ipe) Catch ae As ArgumentNullException Console.WriteLine("ArgumentNullException : 0", ae.tostring( )) Catch se As SocketException -9-

10 Console.WriteLine("SocketException : 0", se.tostring( )) Catch e As Exception Console.WriteLine("Unexpected exception : 0", e.tostring( )) End Try try s.connect(ipe); catch(argumentnullexception ae) Console.WriteLine("ArgumentNullException : 0", ae.tostring( )); catch(socketexception se) Console.WriteLine("SocketException : 0", se.tostring( )); catch(exception e) Console.WriteLine("Unexpected exception : 0", e.tostring( )); -10-

11 ソケットを使用したリッスン リスナやサーバーソケットは ネットワーク上のポートを開いてから クライアントが其のポートに接続するのを待機する ネットワークアドレスファミリやプロトコルには様々な種類が有るが 此の例では TCP/IP ネットワーク用のリモートサービスを作成する方法を示す TCP/IP サービスの一意なアドレスは ホストの IP アドレスとサービスのポート番号の組み合わせで定義され 此の組み合わせに依りサービスのエンドポイントが作成される Dns クラスは ローカルのネットワークデバイスでサポートされるネットワークアドレスに関する情報を返すメソッドを提供する ローカルのネットワークデバイスに複数のネットワークアドレスが有る場合 又は ローカルシステムで複数のネットワークデバイスがサポートされて居る場合 Dns クラスは総てのネットワークアドレスに関する情報を返す為 アプリケーションではサービスの正しいアドレスを選択する必要が有る 一般的なサービスが使用するポート番号は IANA(Internet Assigned Numbers Authority) が定義して居る 詳細に付いては 英語情報 ) を参照され度い 其他のサービスでは 1,024 ~ 65,535 の範囲の登録済みポート番号を使用出来る ホストコンピュータに対して Dns が返した最初の IP アドレスと 登録済みのポート番号範囲から選択したポート番号を組み合わせて サーバーの IPEndPoint を作成するコード例を次に示す Dim iphostinfo As IPHostEntry = Dns.Resolve(Dns.GetHostName()) Dim ipaddress As IPAddress = iphostinfo.addresslist(0) Dim localendpoint As New IPEndPoint(ipAddress, 11000) IPHostEntry iphostinfo = Dns.Resolve(Dns.GetHostName()); IPAddress ipaddress = iphostinfo.addresslist[0]; IPEndPoint localendpoint = new IPEndPoint(ipAddress, 11000); ローカルエンドポイントを確認したら Bind メソッドを使用して Socket を其のエンドポイントに関連付け Listen メソッドを使用して 其のエンドポイントでリッスンする様に設定する 指定したアドレスとポート番号の組み合わせが既に使用されて居る場合 Bind は例外をスローする Socket を IPEndPoint に関連付けるコード例を次に示す listener.bind(localendpoint) listener.listen(100) listener.bind(localendpoint); listener.listen(100); Listen メソッドは Socket に対して保留出来る接続数を指定するパラメータを 1 つ受け取る 此の数を超えると 接続しようとするクライアントに対して サーバーがビジー状態で有る事を示すエラーが返される 此の例は 最大で 100 のクライアントを接続キューに配置し 101 番目のクライアントにはサーバーがビジー状態で有る事を示す応答を返す -11-

12 TCP/UDP アプリケーションで伝送制御プロトコル (TCP:Transmission Control Protocol) サービスやユーザーデータグラムプロトコル (UDP:User Datagram Protocol) サービスを使用するには TcpClient クラス TcpListener クラス 及び UdpClient クラスを使用する 此等のプロトコルクラスは System.Net.Sockets.Socket クラスの上位に構築され データ伝送の詳細を制御する 此等のプロトコルクラスは Socket クラスの同期メソッドを使用して 状態情報を維持したり プロトコル固有ソケットの設定に付いての詳細に対応したりする必要の無いネットワークサービスへの簡単で直接的なアクセスを提供する 非同期の Socket メソッドを使用するには NetworkStream クラスが提供する非同期メソッドを使用する Socket クラスの機能の内 プロトコルクラスに依っては公開されない機能にアクセスするには Socket クラスを使用する必要が有る TcpClient と TcpListener は NetworkStream クラスを使用してネットワークを表す GetStream メソッドを使用してネットワークストリームを取得し 続いて其のストリームの Read メソッドや Write メソッドを呼び出す事が出来る NetworkStream は プロトコルクラスの元に成って居るソケットを所有して居ない為 終了してもソケットに影響する事は無い UdpClient クラスは UDP データグラムを保持する為にバイト配列を使用する ネットワークにデータを送信するには Send メソッドを使用し 着信データグラムを受信するには Receive メソッドを使用する TCP サービスの使用 TcpClient クラスは TCP を使用してインターネットリソースからのデータを要求する TcpClient のメソッドやプロパティを使用すると TCP を使用してデータを要求 及び 受信する為の Socket の作成に付いて詳細を考慮する必要が無く成る リモートデバイスへの接続がストリームと仕て表される為.NET Framework のストリーム処理技術に依りデータを読み書き出来る TCP プロトコルは リモートのエンドポイントとの接続を確立してから 其の接続を使用してデータパケットの送受信を行う TCP は データパケットが確実にエンドポイントに送信され 着信時に正しい順序で組み立てられる様にする TCP 接続を確立するには 必要なサービスをホストするネットワークデバイスのアドレスと 其のサービスが通信に使用する TCP ポートを把握して置く必要が有る 一般的なサービスが使用するポート番号は IANA ( Internet Assigned Numbers Authority ) が定義して居る 英語情報 ) を参照され度い IANA の一覧に記載されて居ないサービスは 1,024 ~ 65,535 の範囲のポート番号を使用出来る TCP のポート番号 13 でタイムサーバーに接続する様に TcpClient を設定するコード例を次に示す Imports System Imports System.Net.Sockets Imports System.Text Public Class TcpTimeClient Private const portnum As Integer = 13 Private const hostname As String = "host.contoso.com" -12-

13 ' Entry point that delegates to C-style main Private Function. Public Overloads Shared Sub Main() System.Environment.ExitCode = _ Main(System.Environment.GetCommandLineArgs()) End Sub Overloads Public Shared Function Main(args() As [String]) As Integer Try Dim client As New TcpClient(hostName, portnum) Dim ns As NetworkStream = client.getstream() Dim bytes(1024) As Byte Dim bytesread As Integer = ns.read(bytes, 0, bytes.length) Console.WriteLine(Encoding.ASCII.GetString(bytes, 0, bytesread)) Catch e As Exception Console.WriteLine(e.ToString()) End Try client.close() Return 0 End Function 'Main End Class 'TcpTimeClient using System; using System.Net.Sockets; using System.Text; public class TcpTimeClient private const int portnum = 13; private const string hostname = "host.contoso.com"; public static int Main(String[] args) try TcpClient client = new TcpClient(hostName, portnum); NetworkStream ns = client.getstream(); byte[] bytes = new byte[1024]; int bytesread = ns.read(bytes, 0, bytes.length); Console.WriteLine(Encoding.ASCII.GetString(bytes,0,bytesRead)); client.close(); catch (Exception e) Console.WriteLine(e.ToString()); return 0; TcpListener は TCP ポートに着信する要求を監視し 要求が着信すると クライアントへの接続を管理する Socket か TcpClient の孰れかを作成する ポート上でのリッスンを有効にするには Start メソッドを使用し 無効にするには Stop メソッドを使用する AcceptTcpClient メソッドは 着信した接続要求を受け入れ TcpClient を作成して要求を処理するが AcceptSocket メソッドは 着信した接続要求を受け入れ Socket を作成して要求を処理する -13-

14 TcpListener を使用して TCP のポート番号 13 を監視するネットワークタイムサーバーを作成するコード例を次に示す 着信した接続要求が受け入れられると 此のタイムサーバーは応答と仕てホストサーバーの現在の日時を返す Imports System Imports System.Net.Sockets Imports System.Text Public Class TcpTimeServer Private const portnum As Integer = 13 ' Entry point that delegates to C-style main Private Function. Public Overloads Shared Sub Main() System.Environment.ExitCode = _ Main(System.Environment.GetCommandLineArgs()) End Sub Overloads Public Shared Function Main(args() As [String]) As Integer Dim done As Boolean = False Dim listener As New TcpListener(portNum) listener.start() While Not done Console.Write("Waiting for connection...") Dim client As TcpClient = listener.accepttcpclient() Console.WriteLine("Connection accepted.") Dim ns As NetworkStream = client.getstream() Dim bytetime As Byte() = Encoding.ASCII.GetBytes(DateTime.Now.ToString()) Try ns.write(bytetime, 0, bytetime.length) ns.close() client.close() Catch e As Exception Console.WriteLine(e.ToString()) End Try End While listener.stop() Return 0 End Function 'Main End Class 'TcpTimeServer using System; using System.Net.Sockets; using System.Text; public class TcpTimeServer private const int portnum = 13; -14-

15 public static int Main(String[] args) bool done = false; TcpListener listener = new TcpListener(portNum); listener.start(); while (!done) Console.Write("Waiting for connection..."); TcpClient client = listener.accepttcpclient(); Console.WriteLine("Connection accepted."); NetworkStream ns = client.getstream(); byte[] bytetime = Encoding.ASCII.GetBytes(DateTime.Now.ToString()); try ns.write(bytetime, 0, bytetime.length); ns.close(); client.close(); catch (Exception e) Console.WriteLine(e.ToString()); listener.stop(); return 0; UDP サービスの使用 UdpClient クラスは UDP を使用してネットワークサービスと通信する UdpClient クラスのプロパティやメソッドを使用すると UDP を使用してデータを要求 及び 受信する為の Socket の作成に付いて詳細を考慮する必要が無く成る ユーザーデータグラムプロトコル (UDP:User Datagram Protocol) は データをリモートホストに送信するのに役立つシンプルなプロトコルで有る 併し UDP プロトコルはコネクションレスプロトコルで有る為 リモートのエンドポイントに送信される UDP データグラムは送信先に着信する保証が無く 着信した場合でも 送信時と同じ順序で着信するか何うかは保証されない UDP を使用するアプリケーションは データグラムが欠損した場合や 重複して居る場合 及び 順序が乱れて居る場合に対処出来る様に仕て置く必要が有る UDP を使用してデータグラムを送信するには 必要なサービスをホストするネットワークデバイスのネットワークアドレスと 其のサービスが通信に使用する UDP ポート番号を把握して置く必要が有る 一般的なサービスが使用するポート番号は IANA(Internet Assigned Numbers Authority) が定義して居る 英語情報 ) を参照され度い IANA の一覧に記載されて居ないサービスは 1,024 ~ 65,535 の範囲のポート番号を使用出来る IP ベースのネットワークで UDP ブロードキャストメッセージをサポートする為には 専用のネットワークアドレスが使用される 以下の説明では インターネットで使用されて居る IP バージョン 4 アドレスファミリを例と仕て使用する -15-

16 IP バージョン 4 のアドレスは 32 ビットでネットワークアドレスを指定する ネットマスクと仕て を使用して居るクラス C アドレスでは 此等のビットは 4 つのオクテットに分割される 此等の 4 つのオクテットを 10 進数で表現すると の様に ピリオドで 4 つの部分に区切られた一般的な表記に成る 最初の 2 つのオクテット ( 此の例では ) はネットワーク番号を表し 3 番目のオクテット (100) はサブネットを定義し 最後のオクテット (2) はホスト識別子を表す IP アドレスの総てのビットを 1 に設定すると ( ) 制限されたブロードキャストアドレスに成る UDP データグラムを此のアドレスに送信すると 其のメッセージはローカルネットワークセグメント上の総てのホストに送られる ルーターは 此のアドレス宛てのメッセージを転送しない為 ネットワークセグメント上のホスト丈が ブロードキャストメッセージを受信する事に成る ホスト識別子の総てのビットを設定すると ネットワークの特定の部分にブロードキャストを送信出来る 例えば で始まる IP アドレスで識別されるネットワーク上の総てのホストにブロードキャストを送信するには と謂うアドレスを使用する UdpClient を使用して ダイレクトブロードキャストアドレス に送信されるデータグラムをポート 11,000 上でリッスンするコード例を次に示す クライアントは メッセージ文字列を受信して 其のメッセージをコンソールに書き込む Imports System Imports System.Net Imports System.Net.Sockets Imports System.Text Public Class UDPListener Private Const listenport As Integer = Private Shared Sub StartListener() Dim done As Boolean = False Dim listener As New UdpClient(listenPort) Dim groupep As New IPEndPoint(IPAddress.Any, listenport) Try While Not done Console.WriteLine("Waiting for broadcast") Dim bytes As Byte() = listener.receive(groupep) Console.WriteLine("Received broadcast from 0 :", groupep.tostring()) Console.WriteLine( _ Encoding.ASCII.GetString(bytes, 0, bytes.length)) Console.WriteLine() End While Catch e As Exception Console.WriteLine(e.ToString()) Finally listener.close() End Try End Sub 'StartListener Public Shared Function Main() As Integer StartListener() Return 0 End Function 'Main End Class 'UDPListener -16-

17 using System; using System.Net; using System.Net.Sockets; using System.Text; public class UDPListener private const int listenport = 11000; private static void StartListener() bool done = false; UdpClient listener = new UdpClient(listenPort); IPEndPoint groupep = new IPEndPoint(IPAddress.Any,listenPort); try while (!done) Console.WriteLine("Waiting for broadcast"); byte[] bytes = listener.receive( ref groupep); Console.WriteLine("Received broadcast from 0 : n 1 n", groupep.tostring(), Encoding.ASCII.GetString(bytes,0,bytes.Length)); catch (Exception e) Console.WriteLine(e.ToString()); finally listener.close(); public static int Main() StartListener(); return 0; UdpClient を使用して ポート 11,000 を経由してダイレクトブロードキャストアドレス に UDP データグラムを送信するコード例を次に示す クライアントは コマンドラインで指定したメッセージ文字列を送信する Imports System Imports System.Net Imports System.Net.Sockets Imports System.Text -17-

18 Public Class Program Overloads Public Shared Function Main(args() As [String]) As Integer Dim s As New Socket(AddressFamily.InterNetwork, SocketType.Dgram,ProtocolType.Udp) Dim broadcast As IPAddress = IPAddress.Parse(" ") Dim sendbuf As Byte() = Encoding.ASCII.GetBytes(args(0)) Dim ep As New IPEndPoint(broadcast, 11000) s.sendto(sendbuf, ep) Console.WriteLine("Message sent to the broadcast address") End Function 'Main End Class using System; using System.Net; using System.Net.Sockets; using System.Text; class Program static void Main(string[] args) Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Dgram,ProtocolType.Udp); IPAddress broadcast = IPAddress.Parse(" "); byte[] sendbuf = Encoding.ASCII.GetBytes(args[0]); IPEndPoint ep = new IPEndPoint(broadcast, 11000); s.sendto(sendbuf, ep); Console.WriteLine("Message sent to the broadcast address"); ネットワークでのストリームの使用.NET Framework では ネットワークリソースはストリームと仕て表される.NET Framework では ストリームを汎用的に扱う事に依り 次の機能を実現する Web データを送受信する為の共通の方法が提供される HTML や XML 等 ファイルの実際の内容に関係無く アプリケーションでは データの送受信に Stream.Write 及び Stream.Read が使用される.NET Framework 全体でストリームの互換性が確保される ストリームは ストリームを処理する為の豊富なインフラストラクチャが用意されて居る.NET Framework 全体で使用される 例えば ストリームを初期化する数行のコードを変更する丈で FileStream から XML データを読み取るアプリケーションを NetworkStream からデータを読み取る様に変更出来る NetworkStream クラスと其れ以外のストリームの主な相違点は NetworkStream がシーク可能で無い事 CanSeek プロパティは常に false を返す事 及び Seek メソッドと Position メソッドが NotSupportedException をスローする事で有る データが到着すると 直ぐに処理される ストリームでは ネットワークからデータが到着すると直ぐにアクセス出来る アプリケーションは データセット全体がダウンロードされる迄待機する必要は無い System.Net.Sockets 名前空間には ネットワークリソースで使用する為の Stream クラスを実装する -18-

19 NetworkStream クラスが含まれて居る System.Net.Sockets 名前空間内のクラスは NetworkStream クラスを使用してストリームを表す 返されたストリームを使用してネットワークにデータを送信するには WebRequest で GetRequestStream を呼び出す WebRequest は 要求のヘッダーをサーバーに送信する 此の後 返されたストリームで BeginWrite メソッド EndWrite メソッド 又は Write メソッドを呼び出して ネットワークリソースにデータを送信出来る HTTP 等の一部のプロトコルでは データを送信する前に プロトコル固有のプロパティを設定する必要が有る場合が有る データを送信する為に HTTP 固有のプロパティを設定する方法を次のコード例に示す 此の例では 変数 senddata には送信するデータが 変数 sendlength には送信するデータのバイト数が格納される事を前提と仕て居る Dim request As HttpWebRequest = _ CType(WebRequest.Create(" HttpWebRequest) request.method = "POST" request.contentlength = sendlength Try Dim sendstream As Stream = request.getrequeststream() sendstream.write(senddata, 0, sendlength) sendstream.close() Catch ' Handle errors... End Try HttpWebRequest request = (HttpWebRequest) WebRequest.Create(" request.method = "POST"; request.contentlength = sendlength; try Stream sendstream = request.getrequeststream(); sendstream.write(senddata,0,sendlength); sendstream.close(); catch // Handle errors... ネットワークからデータを受信するには WebResponse で GetResponseStream を呼び出す 次に 返されたストリームで BeginRead メソッド EndRead メソッド 又は Read メソッドを呼び出して ネットワークリソースからデータを読み取る事が出来る ネットワークリソースからのストリームを使用する時は 次の点を念頭に置いて欲しい CanSeek プロパティは常に false を返す 此れは NetworkStream クラスはストリーム内で位置を変更出来ない為で有る Seek メソッドと Position メソッドは NotSupportedException をスローする WebRequest と WebResponse を使用する場合 GetResponseStream の呼び出しで作成されるストリームインスタンスは読み取り専用で有り GetRequestStream の呼び出しで作成されるストリームインスタンスは書き込み専用で有る -19-

20 エンコードを簡単にするには StreamReader クラスを使用する 次に示すコード例では StreamReader を使用して ASCII エンコードされたストリームを WebResponse から読み取る 此の例では 要求を作成するコードは示して居ない ネットワークリソースが使用出来ない場合 GetResponse の呼び出しがブロックされる事が有る BeginGetResponse メソッドと EndGetResponse メソッドに依る非同期要求の使用を考慮され度い サーバーへの接続が作成されて居る間 GetRequestStream の呼び出しがブロックされる事が有る BeginGetRequestStream メソッドと EndGetRequestStream メソッドに依るストリームの非同期要求の使用を考慮され度い ' Create a response object. Dim response As WebResponse = request.getresponse() ' Get a readable stream from the server. Dim sr As New StreamReader(response.GetResponseStream(), Encoding.ASCII) ' Use the stream. Remember when you are through with the stream to close it. sr.close() // Create a response object. WebResponse response = request.getresponse(); // Get a readable stream from the server. StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.ASCII); // Use the stream. Remember when you are through with the stream to close it. sr.close(); -20-

LogisticaTRUCKServer-Ⅱ距離計算サーバ/Active-Xコントロール/クライアント 概略   

LogisticaTRUCKServer-Ⅱ距離計算サーバ/Active-Xコントロール/クライアント 概略       - LogisticaTRUCKServer-Ⅱ(SQLServer 版 ) 距離計算サーハ API ソケット通信サンフ ルフ ロク ラム -1- LogisticaTRUCKServer-Ⅱ 距離計算サーハ API ソケット通信 Java でのソケット通信 Javaでのソケット通信の実行サンフ ルフ ロク ラムポート番号は 44963 条件値, 起点, 終点 を送信して 条件値, 起点, 終点,

More information

ファイル操作-バイナリファイル

ファイル操作-バイナリファイル ファイル操作 バイナリ ファイルを読み書きする バイナリファイル ( 即ちテキストファイル以外のファイル ) を読み書きするには FileStream クラス (System.IO 名前空間 ) を利用する FileStream クラスはファイル用のストリームをサポートするクラスで有り Stream クラス (System.IO 名前空間 ) の派生クラスの 1 つで有る 基本的には コンストラクタで指定したファイルのストリームに対して

More information

// このクラスの有効期間中の各呼び出しに使用される キャッシュされた Socket オブジェクト Socket socket = null; // 非同期処理が完了したことを通知するために信号を送るオブジェクト static ManualResetEvent clientdone = new Ma

// このクラスの有効期間中の各呼び出しに使用される キャッシュされた Socket オブジェクト Socket socket = null; // 非同期処理が完了したことを通知するために信号を送るオブジェクト static ManualResetEvent clientdone = new Ma HOW DO I ソケットで通信を行うには ここでは以下の手順で説明します ソケットクライアントを作成するデータを送信するデータを受信するソケットクライアントを使用する ソケットクライアントを作成する 1. このコンテンツのサポートファイルの Start フォルダから "UDPClient" プロジェクトを開きます 2. クライアントを動作させるため コンピューターで簡易 TCP/IP サービスを有効にする必要があります

More information

12.1 インターネットアドレス インターネットアドレス インターネットアドレス 32 ビットの長さを持つインターネットに接続されたマシンを識別するのに使う インターネットアドレスは ピリオドで区切られたトークンの並びで表現されることもある インターネットアドレス

12.1 インターネットアドレス インターネットアドレス インターネットアドレス 32 ビットの長さを持つインターネットに接続されたマシンを識別するのに使う インターネットアドレスは ピリオドで区切られたトークンの並びで表現されることもある   インターネットアドレス Java 独習第 3 版 12.1 インターネットアドレス 12.2 サーバーソケットとソケット 2006 年 7 月 5 日 ( 水 ) 南慶典 12.1 インターネットアドレス インターネットアドレス インターネットアドレス 32 ビットの長さを持つインターネットに接続されたマシンを識別するのに使う インターネットアドレスは ピリオドで区切られたトークンの並びで表現されることもある www.mycompany.com

More information

チャットアプリ

チャットアプリ チャットアプリ Socket クラスに依る TCP 非同期通信の方法 複数のクライアントが同時に接続出来る TCP を利用したクライアントサーバー型チャットアプリケーションを TcpClient と TcpListener クラスを使わずに Socket クラスを使って作る方法を紹介する 初めに 此処では 複数のクライアントが同時に接続出来る TCP を利用したクライアントサーバー型チャットアプリケーション

More information

ファイル操作

ファイル操作 ファイル操作 TextFieldParser オブジェクト ストリームの読込と書込 Microsoft.VisualBasic.FileIO 名前空間の TextFieldParser オブジェクトは 構造化テキストファイルの解析に使用するメソッドとプロパティを備えたオブジェクトで有る テキストファイルを TextFieldParser で解析するのは テキストファイルを反復処理するのと同じで有り

More information

データアダプタ概要

データアダプタ概要 データベース TableAdapter クエリを実行する方法 TableAdapter クエリは アプリケーションがデータベースに対して実行出来る SQL ステートメントやストアドプロシージャで TableAdapter で型指定されたメソッドと仕て公開される TableAdapter クエリは 所有るオブジェクトのメソッドと同様に 関連付けられたメソッドを呼び出す事に依り実行出来る TableAdapter

More information

プロセス間通信

プロセス間通信 プロセス間通信 プロセス間通信 (SendMessage) プロセス間通信とは 同一コンピューター上で起動して居るアプリケーション間でデータを受け渡し度い事は時々有る Framework には リモート処理 と謂う方法でデータの受け渡しを行なう方法が有る 此処では 此の方法では無く 従来の方法の API を使用したプロセス間通信を紹介する 此の方法は 送信側は API の SendMessage で送り

More information

ICONファイルフォーマット

ICONファイルフォーマット グラフィックス 画像フォーマットエンコーダパラメータ 様々なフォーマットで画像を保存 Bitmap クラスを用いる事でビットマップ JPEG GIF PNG 等様々なフォーマットの画像を読み込み操作する事が出来る 更に Bitmap クラスや Graphics コンテナを用いて描画処理等を施したイメージをファイルに保存する事も出来る 此の時 読み込めるフォーマット同様に保存するフォーマットを選択する事が出来る

More information

(Microsoft PowerPoint - \223\306\217KJava\221\346\202R\224\305.ppt)

(Microsoft PowerPoint - \223\306\217KJava\221\346\202R\224\305.ppt) 独習 Java 第 3 版 12.1 インターネットアドレス 12.2 サーバーソケットとソケット 12.3 データグラムソケット とデータグラムパケット 12.4 URL インターネットアドレス インターネットアドレスとは? 32 ビットの長さを持ち インターネットに接続されたマシンの識別のために用いられる アドレスはピリオドで区切られた 4 つの番号からなる ピリオドで区切られたトークンの並びで表現されることもある

More information

構造体

構造体 構造体 Byte 配列 構造体とコピーする方法 構造体とバイト配列の変換を行うには System.Runtime.InteropServices 名前空間をインポートして置くと便利で有る Imports System.Runtime.InteropServices using System.Runtime.InteropServices; 下記の 3 種類の構造体にバイト配列の値を格納した場合に付いて検証する

More information

ファイル操作-インターネットキャッシュ

ファイル操作-インターネットキャッシュ ファイル操作 インターネット一時ファイルの保存場所 インターネットキャッシュ インターネット一時ファイルの保存場所は Internet Explorer の場合 下記の手順で確認する事が出来る 1.[ ツール ] [ インターネットオプション ] でインターネットオプション画面のダイアログを表示させる 2.[ 全般 ] タブで [ インターネット一時ファイル ] グループの [ 設定 ] をクリックすると

More information

プラグイン

プラグイン プラグイン プラグイン詳細 2 ~ プラグイン機能を持つテキストエディタの作成 ~ はじめに Adobe Photoshop や Becky! Internet Mail 等のアプリケーションでは プラグイン ( 又は アドイン エクステンション 等 ) と呼ばれるプログラムをインストールする事に依り 機能を拡張する事が出来る 此の記事では此の様なプラグイン機能を持ったアプリケーションの作り方を プラグイン対応のテキストエディタを作成する事に依り

More information

ハッシュテーブル

ハッシュテーブル ハッシュテーブル ハッシュテーブル ( 連想配列 ) を使う ハッシュテーブルとは キー (key) と値 (value) のペアを保持して居るコレクションで有る 通常の配列がインデックス番号に依り各値 ( 各要素 ) にアクセス出来るのに比べて ハッシュテーブルでは インデックス番号の代わりにキーを用いて 其の各値にアクセスする事が出来る キーと 其のキーから連想される ( 対応付けられて居る )

More information

VB.NET解説

VB.NET解説 Visual Basic.NET 印刷編 目次 印刷の概要... 2 印刷の流れ... 2 標準の Windows フォーム印刷ジョブの作成... 3 実行時に於ける Windows フォーム印刷オプションの変更... 3 Windows フォームに於ける接続されたプリンタの選択... 4 Windows フォームでのグラフィックスの印刷... 5 Windows フォームでのテキストの印刷...

More information

.NETプログラマー早期育成ドリル ~VB編 付録 文法早見表~

.NETプログラマー早期育成ドリル ~VB編 付録 文法早見表~ .NET プログラマー早期育成ドリル VB 編 付録文法早見表 本資料は UUM01W:.NET プログラマー早期育成ドリル VB 編コードリーディング もしくは UUM02W:.NET プログラマー早期育成ドリル VB 編コードライティング を ご購入頂いた方にのみ提供される資料です 資料内容の転載はご遠慮下さい VB プログラミング文法早見表 < 基本文法 > 名前空間の定義 Namespace

More information

正規表現応用

正規表現応用 正規表現 正規表現を使って文字列が或る形式と一致するか調べる 指定された正規表現のパターンと一致する対象が入力文字列内で見付かるか何うかを調べるには Regex クラスの IsMatch メソッドを使用する 此処では IsMatch メソッドを使った例を幾つか紹介する 猶 正規表現のパターンと一致する個所を探し 見付かれば 其の箇所を抽出する方法は 正規表現を使って文字列を検索し 抽出する で紹介して居る

More information

2. ネットワークアプリケーションと TCP/IP 2.1. クライアント / サーバモデル TCP/IP プロトコルに従うネットワークアプリケーションの典型的モデルは, クライアント / サーバモデルである. クライアント / サーバモデルでは, クライアントからの要求に対してサーバがサービスを提

2. ネットワークアプリケーションと TCP/IP 2.1. クライアント / サーバモデル TCP/IP プロトコルに従うネットワークアプリケーションの典型的モデルは, クライアント / サーバモデルである. クライアント / サーバモデルでは, クライアントからの要求に対してサーバがサービスを提 ソケットを用いたネットワークプログラミング実習 1. はじめに 1.1. 実験の概要授業科目 ネットワーク実験 の1 課題として, ソケットを用いたクライアント / サーバプログラミングの実習を行い, ネットワークアプリケーションプログラミングの基礎を学習する. 1.2. 実験の内容実験は 4 週間にわたって行う. 前半の 2 週で,TCP/IP の基礎の復習とコネクションレス型ソケットを用いたクライアント

More information

ADO.NETのアーキテクチャ

ADO.NETのアーキテクチャ データベース ADO.NET のアーキテクチャ 従来のデータ処理は 主に接続をベースとした 2 層モデルに基づいて居た 最近のデータ処理では 多階層アーキテクチャが多用される様に成った為 プログラマは 非接続型アプローチへと切り替えて アプリケーションに より優れたスケーラビリティを提供して居る ADO.NET のコンポーネント ADO.NET には データへのアクセスとデータの操作に使用出来るコンポーネントが

More information

ファイル監視

ファイル監視 ファイル操作 ファイルやディレクトリの監視 FileSystemWatcher クラス.NET Framework のクラスライブラリには ファイルやディレクトリの作成 変更 削除を監視する為の FileSystemWatcher クラスが System.IO 名前空間に用意されて居る ( 但し Windows 98/Me では利用出来ない ) 此れを利用すると 特定のディレクトリにファイルが作成された

More information

NetLec17TCPIP1.ppt

NetLec17TCPIP1.ppt 大阪市立大学創造都市研究科ネットワークシステム概論 3 帝塚山学院大学情報メディア学科教授大阪市立大学名誉教授 堺市情報セキュリティアドバイザ 中野秀男 [ 検索 ] ネットワークシステム概論 1 今日の話 TCP/IP までの世界 プロセス間通信 プロトコル TCP/IP のポイント OSI IP アドレスと DNS IP アドレス ポート番号 議論 ネットワークシステム概論 2 TCP/IP までの世界

More information

PowerPoint Presentation

PowerPoint Presentation コンピュータ科学 III 担当 : 武田敦志 http://takeda.cs.tohoku-gakuin.ac.jp/ IP ネットワーク (1) コンピュータ間の通信 to : x Data to : x y Data to : y z Data 宛先 B のパケットは z に渡す A 宛先 B のパケットは y に渡す ルーティング情報

More information

mySQLの利用

mySQLの利用 MySQL の利用 インストール インストール時に特に注意点は無い 本稿記述時のバージョンは 6.5.4 で有る (2017 年 11 月現在では 6.10.4 で https://dev.mysql.com/downloads/connector/net/6.10.html よりダウンロード出来る ) 参照設定 インストールが終了すれば Visual Studio で参照の設定を行う 参照の設定画面で

More information

- i - org.t_engine.tenet.core.coreerrormessageexception org.t_engine.tenet.core Class CoreErrorMessageException java.lang.object +-java.lang.throwable +-java.lang.exception +-org.t_engine.tenet.core.coreexception

More information

Visual Basic 資料 電脳梁山泊烏賊塾 コレクション初期化子 コレクション初期化子 初めに.NET 版の Visual Basic では 其れ迄の Visual Basic 6.0 とは異なり 下記の例の様に変数宣言の構文に 初期値を代入する式が書ける様に成った 其の際 1 の様に単一の値

Visual Basic 資料 電脳梁山泊烏賊塾 コレクション初期化子 コレクション初期化子 初めに.NET 版の Visual Basic では 其れ迄の Visual Basic 6.0 とは異なり 下記の例の様に変数宣言の構文に 初期値を代入する式が書ける様に成った 其の際 1 の様に単一の値 コレクション初期化子 コレクション初期化子 初めに.NET 版の Visual Basic では 其れ迄の Visual Basic 6.0 とは異なり 下記の例の様に変数宣言の構文に 初期値を代入する式が書ける様に成った 其の際 1 の様に単一の値 ( 此処では 10) を代入する丈でなく 2 の配列変数の宣言の様に ブレース { } の中にカンマ区切りで初期値のリストを記述し 配列の各要素に初期値を代入出来る様に成った

More information

PYTHON 資料 電脳梁山泊烏賊塾 PYTHON 入門 関数とメソッド 関数とメソッド Python には関数 (function) とメソッド (method) が有る モジュール内に def で定義されて居る物が関数 クラス内に def で定義されて居る物がメソッドに成る ( 正確にはクラスが

PYTHON 資料 電脳梁山泊烏賊塾 PYTHON 入門 関数とメソッド 関数とメソッド Python には関数 (function) とメソッド (method) が有る モジュール内に def で定義されて居る物が関数 クラス内に def で定義されて居る物がメソッドに成る ( 正確にはクラスが PYTHON 入門 関数とメソッド 関数とメソッド Python には関数 (function) とメソッド (method) が有る モジュール内に def で定義されて居る物が関数 クラス内に def で定義されて居る物がメソッドに成る ( 正確にはクラスがインスタンス化されてからメソッドに成る ) # 関数 def test_func(): print('call test_func') #

More information

MISAO with WPF

MISAO with WPF System.AddIn を利用した アプリケーション拡張 - アドインの開発 - JZ5( 松江祐輔 )@ わんくま http://katamari.jp http://katamari.wankuma.com 2008/9/13 What s System.AddIn System.AddIn 名前空間 Visual Studio Orcus から利用可能 アプリケーションに拡張機能を提 供 なんかいろいろ特長が?

More information

TFTP serverの実装

TFTP serverの実装 TFTP サーバーの実装 デジタルビジョンソリューション 佐藤史明 1 1 プレゼンのテーマ組み込みソフトのファイル転送を容易に 2 3 4 5 基礎知識 TFTP とは 実践 1 実際に作ってみよう 実践 2 組み込みソフトでの実装案 最後におさらい 2 プレゼンのテーマ 組み込みソフトのファイル転送を容易に テーマ選択の理由 現在従事しているプロジェクトで お客様からファームウェアなどのファイル転送を独自方式からTFTPに変更したいと要望があった

More information

チャットプログラム

チャットプログラム チャット VB 2005 5 プログラムの概要 Winsock コントロールを使用すると リモートコンピュータに接続し データを交換出来る事を利用して チャット ( 通信雑談システム ) を作成する サーバー クライアント共に 背景色が黄色のテキストボックスに必要項目を入力し 設定ボタンをクリックすると 通信が確立し チャットを開始する事が出来る 送信用テキストボックスに送信文を入力して送信ボタンをクリックすると

More information

2.5 トランスポート層 147

2.5 トランスポート層 147 2.5 トランスポート層 147 TCP と UDP TCP (Transmission Control Protocol) コネクション型 ギャランティード マルチキャスト ブロードキャスト不可 UDP (User Datagram Protocol) コネクションレス ベストエフォート マルチキャスト ブロードキャスト可 cf. IP (Internet Protocol) コネクションレス ベストエフォート

More information

VB 資料 電脳梁山泊烏賊塾 音声認識 System.Speech の利用 System.Speech に依るディクテーション ( 音声を文字列化 ).NetFramework3.0 以上 (Visual Studio 2010 以降 ) では 標準で System.Speech が用意されて居るの

VB 資料 電脳梁山泊烏賊塾 音声認識 System.Speech の利用 System.Speech に依るディクテーション ( 音声を文字列化 ).NetFramework3.0 以上 (Visual Studio 2010 以降 ) では 標準で System.Speech が用意されて居るの 音声認識 System.Speech の利用 System.Speech に依るディクテーション ( 音声を文字列化 ).NetFramework3.0 以上 (Visual Studio 2010 以降 ) では 標準で System.Speech が用意されて居るので 此れを利用して音声認識を行うサンプルを紹介する 下記の様な Windows フォームアプリケーションを作成する エディタを起動すると

More information

コードページ

コードページ Encoding クラス 文字エンコーディングを表す 名前空間 :System.Text アセンブリ :mscorlib (mscorlib.dll 内 ) 解説 エンコーディングは Unicode 文字のセットをバイトシーケンスに変換するプロセスで有る デコードは 其の逆に成る エンコードされたバイトシーケンスを Unicode 文字のセットに変換するプロセスで有る Unicode Standard

More information

正規表現詳細

正規表現詳細 正規表現 正規表現言語要素.NET Framework SDK には 包括的な正規表現ツールのセットが用意されて居り 其のツールを使用する事で文字列の作成 比較 修正を効率的に行う 亦 大量のテキストやデータを素早く解析し テキストパターンの検索 削除 置換を行う事が出来る 此処では 正規表現を定義する一連の文字 演算子 及び 構成体に付いて説明する 置換.NET Framework 2 置換構成体は

More information

PowerPoint Presentation

PowerPoint Presentation 上級プログラミング 2( 第 1 回 ) 工学部情報工学科 木村昌臣 今日のテーマ 入出力に関わるプログラムの作り方 ネットワークプログラミングの続き TCP の場合のプログラム 先週のプログラムの詳細な説明 URLクラス サーバープログラムの例 データ入出力プログラミングの復習 テキストの読み込み関係のクラス テキストからデータを読み込むときには 通常 三段構えで行う バイナリデータとして読み出し

More information

グラフィックス

グラフィックス グラフィックス PictureBox の Image プロパティに関する良く有る勘違い PictureBox に画像を表示する方法と仕て PictureBox の Image プロパティを使う方法と Graphics の DrawImage メソッドを使う方法が有るが 此の 2 つの方法を混同し 正しく理解して居ない事が多い様で有る 例えば 下記に列挙する様な状況が 此れに該当する 1.PictureBox

More information

ListViewコントロール

ListViewコントロール ListView コントロール ListView コントロールへ項目を追加 本稿では.NET Framework の標準コントロールで有る ListView コントロール (System.Windows.Forms 名前空間 ) を活用する為に ListView コントロールにデータを追加する方法を紹介する ListView コントロールは データ項目をアイコン表示や詳細表示等に依り一覧表示する為の物で

More information

NotifyIconコントロール

NotifyIconコントロール NotifyIcon コントロール システムトレイ ( タスクトレイ ) にアイコンを表示する.NET Framework 2.0 以降の場合は 後述の 2 を観て欲しい Outlook や MSN Messenger 等の様に Windows アプリケーションではシステムトレイ ( タスクトレイ ステータス領域等とも呼ばれる ) にアイコンを表示して アプリケーションの状態を示したり アプリケーションのフォームを表示したりする為のショートカットとして利用する事が出来る.NET

More information

Java知識テスト問題

Java知識テスト問題 Java 知識テスト SDAS プログラマ(Java 編 ) 運営事務局 このテストは J2EE プログラマとしての Java の知識を評価するものです 問題は 30 問, テスト時間は J2EE 知識テストとあわせて 90 分です 問題は全て択一式です 選択肢から 1 つだけ選択してください 資料の閲覧は禁止です テストが終わり次第 答案用紙を提出していただいてかまいません テスト終了後, 本テストの内容を他の方に話さないでください

More information

第1回 ネットワークとは

第1回 ネットワークとは 1 第 8 回 UDP TCP 計算機ネットワーク 2 L4 トランスポート層 PDU: Protocol Data Unit L4 セグメント L4 ヘッダ データ セグメントデータ最大長 =MSS maximum segment size L3 パケット IP ヘッダ TCP ヘッダ IP データ L2 フレーム イーサヘッダ IP ヘッダ TCP ヘッダ イーサネットデータ イーサトレイラ フレームデータ

More information

Managed Firewall NATユースケース

Managed Firewall NATユースケース Managed Firewall NAT ユースケース 2.0 版 2017/7/25 NTT Communications 更新履歴 版数更新日更新内容 1.0 2017/07/18 初版 2.0 2017/07/25 送信元 NAT NAPT に変更 ユースケースを追加 Use Case 1 Managed Firewall 送信先 NAT/DESTINATION NAT ~ 送信先のポート変換なし

More information

Prog1_10th

Prog1_10th 2014 年 6 月 19 日 ( 木 ) 実施 例外処理 Java 言語では, 作成したプログラムを実行する際に, 記述した処理が想定しない事態によって実行できなくなる場合を例外と呼び, その例外への対処, 即ち例外処理が求められる 例外処理を行うための try 文の一般形は次のようになる 例外を発生させる可能性のある処理 catch( 例外のクラス名 1 変数 1 ) 例外に対処する処理 1 catch(

More information

情報通信の基礎

情報通信の基礎 情報通信の基礎 2016 年 5 月 19 日 ( 木 ) 第 4 回授業 1 本日の予定 グローバルIPアドレスとプライベートIPアドレス DHCPサーバ (IPアドレスの自動割り当て等) DNSサーバ ( 名前解決 ) MACアドレス ARP( アドレス解決プロトコル ) ネットワークの階層モデル アプリケーションを識別するポート番号 2 TCP/IP (Transmission Control

More information

file:///C:/www/

file:///C:/www/ 1. インターネットの仕組み インターネットの基礎となる仕組み パケット交換方式 実用的な仕組みを構築するために採用された階層モデル 利用する上で必要な IP アドレスの知識などを学んで これからの講習に役立ててください 1.1 パケット交換による通信 電話は多数の通信線を交換機で繋ぎ換え送信側と受信側を 1 本の回線で接続して会話を可能にしています この回線交換方式は回線を占有するので通信速度が保障されるが

More information

Public Class Class4SingleCall Inherits MarshalByRefObject Public Sub New() End Sub Public Function OneProc(ByVal The As A SC) As A SC Dim The As New A SC The.answer = The.index * 2 + 1000 Return The End

More information

ウィンドウ操作 応用

ウィンドウ操作 応用 Win32API 関数 ウィンドウ操作 ウィンドウ名でトップレベルウィンドウ ( 親を持たないウィンドウ ) のハンドルを取得 メモ帳や電卓等のウィンドウ名でトップレベルウィンドウ ( 親を持たないウィンドウ ) のハンドルを取得する方法を 下記に示す Visual Basic Imports System.Runtime.InteropServices Public Class WindowFromWindowName

More information

実験 6 通信基礎実験 1 目的 ネットワークを通じてデータ転送を行うことを体験的に学ぶために 本実験ではT CP/IPプロトコルを使い ワークステーション間で通信を行うクライアントサーバモデルのプログラムを作成する 2 解説 1 ネットワークとプロトコルネットワーク ( コンピュータネットワーク

実験 6 通信基礎実験 1 目的 ネットワークを通じてデータ転送を行うことを体験的に学ぶために 本実験ではT CP/IPプロトコルを使い ワークステーション間で通信を行うクライアントサーバモデルのプログラムを作成する 2 解説 1 ネットワークとプロトコルネットワーク ( コンピュータネットワーク 実験 6 通信基礎実験 1 目的 ネットワークを通じてデータ転送を行うことを体験的に学ぶために 本実験ではT CP/IPプロトコルを使い ワークステーション間で通信を行うクライアントサーバモデルのプログラムを作成する 2 解説 1 ネットワークとプロトコルネットワーク ( コンピュータネットワーク ) とは2 台以上のコンピュータが何らかの線でつながったものである しかし 線で接続されているだけではコンピュータ間で通信を行うことが出来ず

More information

TestDesign for Web

TestDesign for Web 発行日 2012/6/21 発行元 株式会社アープ 本書は Web でのテスト自動化における Test Design の一連の操作方法まとめたものです Test Design のメニューの説明やより詳細な使い方については ユーザーズガイド を参照してください 目次 1. はじめに... 1 2. 環境構築... 2 2.1. Selenium のサイトについて... 2 2.2. Selenium

More information

Oracle DatabaseとIPv6 Statement of Direction

Oracle DatabaseとIPv6 Statement of Direction Oracle ホワイト ペーパー 2017 年 10 月 Oracle Database と IPv6 Statement of Direction 免責事項 下記事項は 弊社の一般的な製品の方向性に関する概要を説明するものです また 情報提供を唯一の目的とするものであり いかなる契約にも組み込むことはできません マテリアルやコード 機能の提供をコミットメント ( 確約 ) するものではなく 購買を決定する際の判断材料になさらないで下さい

More information

Android Layout SDK プログラミング マニュアル

Android Layout SDK プログラミング マニュアル プログラミングマニュアル Version 1.3.0 用 更新履歴 年月日 バージョン 履歴 2014.09.08 1.2.0.0 新規 (Layout Utilities ユーザーズ ガイド ) 2016.08.16 1.3.0.0 モバイル端末用レイアウトで直線部品と矩形部品に対応 モバイル端末用レイアウトファイルを CLFX から XML へ変更 Layout Print Engine から

More information

Microsoft Excel操作

Microsoft Excel操作 Microsoft Excel 操作 Excel ファイルにアクセス リフレクションを利用したレイトバインディングで Excel ファイルを操作 Visual Basic なら CreatObject 関数を使用して 暗黙の遅延バインディングを利用する事に依り 簡単にに実現出来る Excel の操作も C# で実現するには 少し面倒臭い事に成る 事前バインディングでも実装する事も出来るが 事前バインディングだと

More information

VPN 接続の設定

VPN 接続の設定 VPN 接続の設定 AnyConnect 設定の概要, 1 ページ AnyConnect 接続エントリについて, 2 ページ ハイパーリンクによる接続エントリの追加, 2 ページ 手動での接続エントリの追加, 3 ページ ユーザ証明書について, 4 ページ ハイパーリンクによる証明書のインポート, 5 ページ 手動での証明書のインポート, 5 ページ セキュアゲートウェイから提供される証明書のインポート,

More information

LogisticaTRUCKServer-Ⅱ距離計算サーバ/Active-Xコントロール/クライアント 概略   

LogisticaTRUCKServer-Ⅱ距離計算サーバ/Active-Xコントロール/クライアント 概略       - LogisticaTRUCKServer-Ⅱ(SQLServer 版 ) 距離計算サーハ API.NET DLL WindowsForm サンフ ルフ ロク ラム - 1 - LogisticaTRUCKServer-Ⅱ 距離計算サーハ.NET DLL WindowsForm VisualBasic での利用方法 LogisticaTRUCKServer-Ⅱ 距離計算.NET DLLのサンプルプログラムの参照サンフ

More information

1.SqlCtl クラスリファレンス SqlCtl クラスのリファレンスを以下に示します メソッドの実行中にエラーが発生した場合は標準エラー出力にメッセージを出力します (1)Connect() メソッド データベースへ connect 要求を行います boolean Connect(String

1.SqlCtl クラスリファレンス SqlCtl クラスのリファレンスを以下に示します メソッドの実行中にエラーが発生した場合は標準エラー出力にメッセージを出力します (1)Connect() メソッド データベースへ connect 要求を行います boolean Connect(String 目次 1.SqlCtl クラスリファレンス 2 (1)Connect() メソッド 2 (2)DisConnect() メソッド 3 (3)Commit() メソッド 3 (4)Rollback() メソッド 4 2.SqlStm クラスリファレンス 5 (1)Prepare() メソッド 5 (2)Execute() メソッド 6 (3)Release() メソッド 6 (4)Immediate()

More information

Microsoft PowerPoint ppt

Microsoft PowerPoint ppt 独習 Java ( 第 3 版 ) 6.7 変数の修飾子 6.8 コンストラクタの修飾子 6.9 メソッドの修飾子 6.10 Object クラスと Class クラス 6.7 変数の修飾子 (1/3) 変数宣言の直前に指定できる修飾子 全部で 7 種類ある キーワード final private protected public static transient volatile 意味定数として使える変数同じクラスのコードからしかアクセスできない変数サブクラスまたは同じパッケージ内のコードからしかアクセスできない変数他のクラスからアクセスできる変数インスタンス変数ではない変数クラスの永続的な状態の一部ではない変数不意に値が変更されることがある変数

More information

intra-mart Accel Platform — IM-Repository拡張プログラミングガイド   初版  

intra-mart Accel Platform — IM-Repository拡張プログラミングガイド   初版   Copyright 2018 NTT DATA INTRAMART CORPORATION 1 Top 目次 1. 改訂情報 2. はじめに 2.1. 本書の目的 2.2. 対象読者 2.3. サンプルコードについて 2.4. 本書の構成 3. 辞書項目 API 3.1. 最新バージョン 3.1.1. 最新バージョンの辞書を取得する 3.2. 辞書項目 3.2.1. 辞書項目を取得する 3.2.2.

More information

スライド 1

スライド 1 DNS とネットワーク設定 URL と URI URL(Uniform Resource Locators) インターネット上の情報にアクセスする方法 プロトコルやホスト名からなる http://www.nagoya-u.ac.jp/ ftp://ftp.nuie.nagoya-u.ac.jp/ URI(Uniform Resource Identifier) インターネット上の情報検索の概念や基本仕様

More information

IP L09( Tue) : Time-stamp: Tue 14:52 JST hig TCP/IP. IP,,,. ( ) L09 IP (2017) 1 / 28

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. (

More information

アマチュア無線のデジタル通信

アマチュア無線のデジタル通信 アマチュア無線のための インターネット通信の基礎 2018 年 4 月 8 日 (V1.0) JR1OFP 1 1. インターネットとは 世界中の ISP のネットワークが相互接続された巨大なネットワークのこと AT&T AOL ティアワンプロバイダー OCN KDDI Yahoo (ISP: Internet Service Provider AT&T, AOL, OCN, KDDI など ) 家庭や企業は何処かの

More information

通信対戦プログラム

通信対戦プログラム チャット VB5 プログラムの概要 Winsock コントロールを使用すると リモートコンピュータに接続し データを交換出来る事を利用して チャット ( 通信雑談システム ) を作成する サーバー クライアント共に 背景色が黄色のテキストボックスに必要項目を入力し 設定ボタンをクリックすると 通信が確立し チャットを開始する事が出来る 送信用テキストボックスに送信文を入力して送信ボタンをクリックすると

More information

スライド 1

スライド 1 1 コンピュータの運用形態の移り変わり バッチ処理 TSS 処理 1 コンピュータ分散処理 インターネット処理 3 4 ネットワーク処理 2 リング型 ネットワークを構成する各種機器 バス型 スター型 3 LAN 構築に必要な基本パーツ ネットワーク OS はネットワークで接続されたコンピュータ同士の情報交換などを可能とします コンピュータを LAN に接続するためには LAN カード / ボードが必須です

More information

Javaプログラムの実行手順

Javaプログラムの実行手順 戻り値のあるメソッド メソッドには 処理に使用する値を引数として渡すことができました 呼び出し 側からメソッドに値を渡すだけでなく 逆にメソッドで処理を行った結果の値を 呼び出し側で受け取ることもできます メソッドから戻してもらう値のことを もどりち戻り値といいます ( 図 5-4) 図 5-4. 戻り値を返すメソッドのイメージ 戻り値を受け取ることによって ある計算を行った結果や 処理に成功したか失

More information

チャットプログラム

チャットプログラム チャット C# 2005 5 プログラムの概要 Winsock コントロールを使用すると リモートコンピュータに接続し データを交換出来る事を利用して チャット ( 通信雑談システム ) を作成する サーバー クライアント共に 背景色が黄色のテキストボックスに必要項目を入力し 設定ボタンをクリックすると 通信が確立し チャットを開始する事が出来る 送信用テキストボックスに送信文を入力して送信ボタンをクリックすると

More information

基礎計算機演習 実習課題No6

基礎計算機演習 実習課題No6 実習課題 No.6 課題は 3 題ある. 課題 6-1 時間内提出 次の実行例のように, 名簿を出力するプログラムをつくりたい. このプログラムでは, まず人数をたずね, 次にその人数分の名前を入力し, それを再びコンソールに出力する. なお, 空の名前が入力されても終了せずにその欄は空欄で出力するものとする. 注意とヒント この課題では,string 型の配列をまず宣言する. このとき, 配列の要素はちょうど名簿に入力する人数分だけを宣言すること

More information

Microsoft PowerPoint ppt [互換モード]

Microsoft PowerPoint ppt [互換モード] 第 5 回 IP 計算機ネットワーク IP Internet Protocol Layer 3 ネットワーク層 機能 アドレッシング (IP アドレス ) IP Reachable 到達可能 = インターネット L2ではローカルのみ通信可 ルーティング フラグメント IP パケット IP パケット IP ヘッダ ペイロード イーサネットヘッダ ペイロード FCS 4 14 1500 イーサネットペイロード

More information

GUIプログラムⅣ

GUIプログラムⅣ GUI プログラム Ⅳ 画像指定ウィンドウの生成 ファイル名 :awtimage.java import java.awt.*; import java.awt.event.*; public class awtimage extends Frame // コンポーネントクラスの宣言 Button btnbrowse; Label lblcaption7; TextField txtimage; //

More information

Oracle DatabaseとIPv6 Statement of Direction

Oracle DatabaseとIPv6 Statement of Direction Oracle ホワイト ペーパー 2011 年 2 月 Oracle Database と IPv6 Statement of Direction 免責事項 以下の事項は 弊社の一般的な製品の方向性に関する概要を説明するものです また 情報提供を唯一の目的とするものであり いかなる契約にも組み込むことはできません 以下の事項は マテリアルやコード 機能の提供をコミットメント ( 確約 ) するものではなく

More information

Prog1_15th

Prog1_15th 2017 年 7 月 27 日 ( 木 ) 実施 応用プログラム (3) キー検索 コレクションには, ハッシュテーブルと呼ばれるものがある これは, キー (key) と値 (value) とを組として保持しているものである 通常の配列が添字により各要素にアクセス出来るのに比べて, ハッシュテーブルではキーを用いて各値にアクセスすることが出来る キー及びそのキーから連想される値の組を保持していることから,

More information

Microsoft PowerPoint - ie ppt

Microsoft PowerPoint - ie ppt インターネット工学 () インターネット工学 () 教室後方のスクリーンより後の座席の利用を禁止します 九州産業大学情報科学部下川俊彦 インターネット工学 1 インターネット工学 2 2007 年度講義日程 9/19( 水 ) 休講 9/26( 水 ) 第 1 回 10/ ( 水 ) 第 2 回 10/10( 水 ) 第 回 10/17( 水 ) 第 回 10/2( 水 ) 第 5 回 10/27(

More information

VB実用Ⅲ⑩ フリーデータベースⅡ

VB実用Ⅲ⑩ フリーデータベースⅡ MySQL の利用 MySQL の ODBC(MyODBC) テキストでは MySQL Connector/ODBC(mysql-connector-odbc-3.51.14-win32.msi) をインストールした場合に付いて解説して居るが 此処では MyODBC(MyODBC-3.51.10-x86-win-32bit.msi) をインストールし myodbc-3.51.06-conv_ujis.zip

More information

とても使いやすい Boost の serialization

とても使いやすい Boost の serialization とても使いやすい Boost の serialization Zegrahm シリアライズ ( 直列化 ) シリアライズ ( 直列化 ) とは何か? オブジェクトデータをバイト列や XML フォーマットに変換すること もう少しわかりやすく表現すると オブジェクトの状態を表す変数 ( フィールド ) とオブジェクトの種類を表す何らかの識別子をファイル化出来るようなバイト列 XML フォーマット形式で書き出す事を言う

More information

ファイル入出力Ⅰ

ファイル入出力Ⅰ ファイル入出力 Ⅰ 今回の課題項目 ファイル入出力 ( 概要 手順 ) ファイル入出力 ( 使用クラス 使用コンストラクタ ) ファイル入出力 ( 文字コード処理 ) ファイル入出力 ( ファイル情報の取得 ) ファイル入出力 ( バイナリファイルの入出力処理 ) 今回の重点項目 ファイル入出力の基本 ( 概要 手順 使用クラス ) ファイル入出力の実践 ( ファイル情報の取得 バイナリファイルの操作

More information

Exam : 1z1-809-JPN Title : Java SE 8 Programmer II Vendor : Oracle Version : DEMO Get Latest & Valid 1z1-809-JPN Exam's Question and Answers 1 from Ac

Exam : 1z1-809-JPN Title : Java SE 8 Programmer II Vendor : Oracle Version : DEMO Get Latest & Valid 1z1-809-JPN Exam's Question and Answers 1 from Ac Actual4Test http://www.actual4test.com Actual4test - actual test exam dumps-pass for IT exams Exam : 1z1-809-JPN Title : Java SE 8 Programmer II Vendor : Oracle Version : DEMO Get Latest & Valid 1z1-809-JPN

More information

VB6互換のファイルの処理

VB6互換のファイルの処理 Visual Basic のランタイム関数を使用したファイルアクセス FileOpen 関数 ファイルを開いて入出力を行う FileOpen(FileNumber, FileName, Mode[, Access[, Share[, RecorLength]]]) 引数 FileNumber は必ず指定する 有効なファイル番号を指定する FreeFile 関数を使用して 使用可能な次のファイル番号を取得する事が出来る

More information

パケットモニター (Wireshark) の使い方 第 1 版 1.Wireshark とは ネットワーク上 (LAN ケーブルに流れている ) のパケットを取得して その中の情報を画面に表示するソフトウェア (LAN アナライザーまたはパケットモニター ) の 1 つに Wiresh

パケットモニター (Wireshark) の使い方 第 1 版 1.Wireshark とは ネットワーク上 (LAN ケーブルに流れている ) のパケットを取得して その中の情報を画面に表示するソフトウェア (LAN アナライザーまたはパケットモニター ) の 1 つに Wiresh パケットモニター (Wireshark) の使い方 1.Wireshark とは ネットワーク上 (LAN ケーブルに流れている ) のパケットを取得して その中の情報を画面に表示するソフトウェア (LAN アナライザーまたはパケットモニター ) の 1 つに Wireshark がある Wireshark は 非常に高機能なオープンソース ( ソース コードが公開されている ) の LAN アナライザで

More information

Javaセキュアコーディングセミナー東京 第3回 入出力(File, Stream)と例外時の動作 演習解説

Javaセキュアコーディングセミナー東京 第3回 入出力(File, Stream)と例外時の動作 演習解説 Java セキュアコーディングセミナー東京第 3 回入出力と例外時の動作 演習解説 2012 年 11 月 11 日 ( 日 ) JPCERT コーディネーションセンター脆弱性解析チーム戸田洋三 1 Hands-on Exercises コンパイルエラーに対処しよう ファイルからのデータ入力を実装しよう 2 Hands-on Exercise(1) サンプルコードの コンパイルエラーに対処しよう 3

More information

CLUSTERPRO for Linux MySQL HowTo

CLUSTERPRO for Linux MySQL HowTo MySQL on CLUSTERPRO for Linux HOWTO 1 はじめに この文章は CLUSTERPRO for Linux 上で MySQL を動作させる際に参考となる情報を記述したもので す MySQL を片方向および双方向スタンバイで運用するための設定方法や注意点を述べます この文章を書くにあたって次のディストリビューションと同梱されている MySQL を使用しました この ほかのバージョンのディストリビューションや

More information

LogisticaTRUCKServer-Ⅱ距離計算サーバ/Active-Xコントロール/クライアント 概略   

LogisticaTRUCKServer-Ⅱ距離計算サーバ/Active-Xコントロール/クライアント 概略       - LogisticaTRUCKServer-Ⅱ(SQLServer 版 ) 距離計算サーハ API.NET DLL WebForms ASP.NET サンフ ルフ ロク ラム - 1 - LogisticaTRUCKServer-Ⅱ 距離計算サーハ.NET DLL WebForm ASP.NET VisualBasic での利用方法 LogisticaTRUCKServer-Ⅱ 距離計算.NET

More information

1.dll の配置場所配布時はプログラムの実行フォルダーへ配置 2. 開発環境での使用 プロジェクトのプロパティーで [USBPIO.dll] を参照追加してください 開発環境 dll ファイルの場所 VB.Net Express Edition 境プロジェクトのフォルダ \bin\release VB.Netebugビルドの場合プロジェクトのフォルダ \bin\debug VB.Net Releaseビルドの場合プロジェクトのフォルダ

More information

Visual Studio と.NET Framework 概要 Runtime Libraries Languag es Tool.NET Visual Studio 概要 http://download.microsoft.com/download/c/7/1/c710b336-1979-4522-921b-590edf63426b/vs2010_guidebook_pdf.zip 1.

More information

untitled

untitled 2 1 Web 3 4 2 5 6 3 7 Internet = Inter Network 8 4 B B A B C A B C D D 9 A G D G F A B C D F D C D E F E F G H 10 5 11 Internet = Inter Network PC 12 6 1986 NSFNET 1995 1991 World Wide Web 1995 Windows95

More information

プログラミング基礎I(再)

プログラミング基礎I(再) 山元進 クラスとは クラスの宣言 オブジェクトの作成 クラスのメンバー フィールド 変数 配列 メソッド メソッドとは メソッドの引数 戻り値 変数の型を拡張したもの 例えば車のデータベース 車のメーカー 車種 登録番号などのデータ データベースの操作 ( 新規データのボタンなど ) プログラムで使う部品の仕様書 そのクラスのオブジェクトを作ると初めて部品になる 継承 などの仕組みにより カスタマイズが安全

More information

Network Programming

Network Programming ネットワークプログラミング 田村寿浩馬建華 目次 サーバーの概要 構成 ネットワークのレイヤー TCPを利用した通信 Javaによるネットワークプログラミング サーバーとは サーバーとはクライアントからの要求に対して何らかのサービスを提供する役割を果たしているプログラム又は稼働させている機器を表す 例 :Web サーバー ウェブブラウザの URL に指示された Web サーバ内に存在する HTML

More information

55 7 Java C Java TCP/IP TCP/IP TCP TCP_RO.java import java.net.*; import java.io.*; public class TCP_RO { public static void main(string[] a

55 7 Java C Java TCP/IP TCP/IP TCP TCP_RO.java import java.net.*; import java.io.*; public class TCP_RO { public static void main(string[] a 55 7 Java C Java TCP/IP TCP/IP 7.1 7.1.1 TCP TCP_RO.java import java.net.*; import java.io.*; public class TCP_RO { public static void main(string[] argv) { Socket readsocket = new Socket(argv[0], Integer.parseInt(argv[1]));

More information

Microsoft PowerPoint - netprog_2015_07.ppt [互換モード]

Microsoft PowerPoint - netprog_2015_07.ppt [互換モード] ネットワークプログラミング 21005 2 号館 10 階 第 7 回 2014/11/10 岩井将行 ( もう2015 年終わりじゃ無い Thread を少々やりたい ) 2015/11/10 1 課題提出方法 課題提出ネットワークフォルダ第 2 回のフォルダにファイルを提出してください Javaファイル Classファイルを両方提出すること 2 Xmas プレゼントを渡そう XmasTCPServ.java

More information

IPv4

IPv4 IPv4 について インターネットプロトコルバージョン 4 1. 概要... 2 2. パケット... 2 3. アドレス... 4 3.1. アドレスのクラス... 4 3.2. 予約アドレス一覧... 5 4. 経路選択... 6 5. 断片化と再統合... 8 6. 関連... 9 7. 参考文献... 9 1 1. 概要 Internet Protocol version 4( インターネットプロトコルバージョン

More information

多言語ドメイン名の実装 mdnkit 石曽根信 ( 株 ) SRA 2001/12/04 日本語ドメイン名解説 / mdnkit 1 mdnkit 多言語ドメイン名を扱うためのツールキット 正規化 エンコード変換等を提供するライブラリとコマンド 既存アプリケーシ

多言語ドメイン名の実装 mdnkit 石曽根信 ( 株 ) SRA 2001/12/04 日本語ドメイン名解説 / mdnkit 1 mdnkit 多言語ドメイン名を扱うためのツールキット 正規化 エンコード変換等を提供するライブラリとコマンド 既存アプリケーシ 多言語ドメイン名の実装 mdnkit 石曽根信 ( 株 ) SRA ishisone@sra.co.jp 2001/12/04 日本語ドメイン名解説 / mdnkit 1 mdnkit 多言語ドメイン名を扱うためのツールキット 正規化 エンコード変換等を提供するライブラリとコマンド 既存アプリケーションを多言語ドメイン対応させるためのツール群 フリーソフトウェア 2001/12/04 日本語ドメイン名解説

More information

インターネットVPN_IPoE_IPv6_fqdn

インターネットVPN_IPoE_IPv6_fqdn 技術情報 :Si-R/Si-R brin シリーズ設定例 (NTT 東日本 / NTT 西日本フレッツ光ネクスト ) IPv6 IPoE 方式 ( ひかり電話契約なし ) で拠点間を接続する設定例です フレッツ光ネクストのフレッツ v6 オプションを利用して 拠点間を VPN( ) 接続します IPv6 IPoE 方式 ( ひかり電話契約なし ) の場合 /64 のプレフィックスをひとつ配布されますが

More information

第 4 章ファイル共有 NFS の構成 NFS(Network File System) は ネットワーク上でファイル共有を提供する仕組みです 主に Linux-Linux 間や Linux-UNIX 間で使用されます NFS サーバーが公開 ( エクスポート ) したディレクトリを N

第 4 章ファイル共有 NFS の構成 NFS(Network File System) は ネットワーク上でファイル共有を提供する仕組みです 主に Linux-Linux 間や Linux-UNIX 間で使用されます NFS サーバーが公開 ( エクスポート ) したディレクトリを N 4.2 NFS サーバーの設定 4.2 NFS サーバーの設定 このトピックでは NFS サーバーの構成について出題されます 例題 NFS サービスを提供するために起動するプログラムではないものを選択して下さい A) nfsd B) exportd C) portmap D) mountd 解答 : B 概要 ( 試験範囲から抜粋 ) 重要度 4 NFS を使用してファイルシステムをエクスポートする

More information

承 認

承 認 取扱説明書 2012/7/26 岩通計測株式会社技術部 1. 概観 編 2. 機能 DM に新しく書込れた < 指定されたスクリーン > の指定名称の ch の波形を波形領域に格納します 確認のために 所定の csv ファイルに格納します VB.net 版では

More information

Java講座

Java講座 ~ 第 1 回 ~ 情報科学部コンピュータ科学科 2 年竹中優 プログラムを書く上で Hello world 基礎事項 演算子 構文 2 コメントアウト (//, /* */, /** */) をしよう! インデントをしよう! 変数などにはわかりやすい名前をつけよう! 要するに 他人が見て理解しやすいコードを書こうということです 3 1. Eclipse を起動 2. ファイル 新規 javaプロジェクト

More information

21 章のお話

21 章のお話 21 章のお話 オブジェクトヘッダ 型オブジェクトポインター (4byte, 8byte) 型の構造体へのポンタ 同期ブロックインデックス (4byte, 8byte) ロックとか COM で利用する フィールド マネージヒープ NextObjPtr マネージヒープ NextObjPtr オブジェクト A を割り当てたい! 同期ブロック 同期ブロックインデックス ~ フィールドまでが入るようにする

More information

通信対戦プログラム

通信対戦プログラム 通信対戦プログラム C# 2005 6 プログラムの概要 Winsock コントロールを使用すると リモートコンピュータに接続し データを交換出来る事を利用して 通信対戦ゲームを作成する ゲームに関する処理は 既に標準モジュールに グローバルなプロシージャとして 入力されて居るので 此れを追加して 使用する ( ファイル名は othello_mod.vb で有る ) 相手のアドレス (IP アドレス

More information

本資料について

本資料について 本資料について 本資料は下記の論文を基にして作成されたものです. 文章の内容の正確さは保障できないため, 正確な知識を求める方は原文を参照して下さい. 著者 :Shiang-Ming Huang,Quincy Wu,Yi-Bing Lin 論文名 :Tunneling IPv6 through NAT with Teredo Mechanism 前半 :Teredo 概要, 後半 :Linux に実装した評価から,

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 12 回目クラス 今日の講義で学ぶ内容 クラスとは クラスの宣言と利用 クラスの応用 クラス クラスとは 異なる複数の型の変数を内部にもつ型です 直観的に表現すると int 型や double 型は 1 1 つの値を管理できます int 型の変数 配列型は 2 5 8 6 3 7 同じ型の複数の変数を管理できます 配列型の変数 ( 配列変数 ) クラスは double

More information

PYTHON 資料 電脳梁山泊烏賊塾 PYTHON 入門 文字列 文字列リテラル プログラムの中で文字列を表す方法は幾つか有るが 基本的な方法は下記の 2 種で有る 対象と成る文字の集まりをダブルクオーテーション ( " ) で囲うか シングルクオーテーション ( ' ) で囲う PYTHON3 "

PYTHON 資料 電脳梁山泊烏賊塾 PYTHON 入門 文字列 文字列リテラル プログラムの中で文字列を表す方法は幾つか有るが 基本的な方法は下記の 2 種で有る 対象と成る文字の集まりをダブルクオーテーション (  ) で囲うか シングルクオーテーション ( ' ) で囲う PYTHON3 PYTHON 入門 文字列 文字列リテラル プログラムの中で文字列を表す方法は幾つか有るが 基本的な方法は下記の 2 種で有る 対象と成る文字の集まりをダブルクオーテーション ( " ) で囲うか シングルクオーテーション ( ' ) で囲う " 文字列 " ' 文字列 ' 他のプログラミング言語ではダブルクオーテーションとシングルクオーテーションで囲う場合では エスケープ処理等の扱いが異なる物が多いが

More information

intra-mart Accel Platform — イベントナビゲータ 開発ガイド   初版  

intra-mart Accel Platform — イベントナビゲータ 開発ガイド   初版   Copyright 2013 NTT DATA INTRAMART CORPORATION 1 Top 目次 intra-mart Accel Platform イベントナビゲータ開発ガイド初版 2013-07-01 改訂情報概要イベントフローの作成 更新 削除をハンドリングするイベントフローを非表示にする回答を非表示にするリンクを非表示にするタイトル コメントを動的に変更するリンク情報を動的に変更するナビゲート結果のリンクにステータスを表示する

More information

FW ファイルアップロード ダウンロード機能利用ガイド Version 年 9 月 21 日富士通株式会社 i All Right Reserved, Copyright FUJITSU LIMITED

FW ファイルアップロード ダウンロード機能利用ガイド Version 年 9 月 21 日富士通株式会社 i All Right Reserved, Copyright FUJITSU LIMITED FW ファイルアップロード ダウンロード機能利用ガイド Version 1.1 2016 年 9 月 21 日富士通株式会社 i 改訂履歴改訂 No. 日付 Version 章 No. 項 No. 改訂内容 1 2015/12/02 1.0 - - 新規作成 2 2016/09/21 1.1 4 4.1.3 text/plan を text/plain に修正 章立てを修正 ii 目次 第 1 章

More information

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード]

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード] 第 3 回 Java 基本技術講義 クラス構造と生成 33 クラスの概念 前回の基本文法でも少し出てきたが, オブジェクト指向プログラミングは という概念をうまく活用した手法である. C 言語で言う関数に似ている オブジェクト指向プログラミングはこれら状態と振る舞いを持つオブジェクトの概念をソフトウェア開発の中に適用し 様々な機能を実現する クラス= = いろんなプログラムで使いまわせる 34 クラスの概念

More information

R80.10_FireWall_Config_Guide_Rev1

R80.10_FireWall_Config_Guide_Rev1 R80.10 ファイアウォール設定ガイド 1 はじめに 本ガイドでは基本的な FireWall ポリシーを作成することを目的とします 基本的な Security Management Security Gateway はすでにセットアップ済みであることを想定しています 分散構成セットアップ ガイド スタンドアロン構成セットアップ ガイド等を参照してください [Protected] Distribution

More information

Microsoft Word - Android_SQLite講座_画面800×1280

Microsoft Word - Android_SQLite講座_画面800×1280 Page 24 11 SQLite の概要 Android にはリレーショナルデータベースである SQLite が標準で掲載されています リレーショナルデータベースは データを表の形で扱うことができるデータベースです リレーショナルデータベースには SQL と呼ばれる言語によって簡単にデータの操作や問い合わせができようになっています SQLite は クライアントサーバ形式ではなく端末の中で処理が完結します

More information