人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

質問です
インターネット上で動かすプログラムソフトと
インターネットを利用しないで動かすプログラムソフトでは
考え方にどうゆう相違があるのでしょうか?
たとえば前者は通信系がからみ開発言語が違うまた作る上の制限がある
などわかりやすく説明いただけると助かります
エクセルを理解するのと理解力に相当開きがあるようです
よろしくお願いします

●質問者: inosisi
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● hissssa
●100ポイント ベストアンサー

「インターネット上で動かすプログラムソフト」の定義による話ですが、パソコン上で動かすソフトで、インターネットにアクセスして動作するソフト(メールソフトやWebブラウザ等)とアクセスしないソフト(ワープロソフト他のツール等)の事であれば、作成自体において考え方には大きな相違はありません。

唯一の違いは、インターネットにアクセスするソフトは「ソケット通信」という技術を使うという事です。これはIPアドレスを持つコンピュータ同士で通信するための共通技術で、今のたいていの開発言語で利用できます。データのやり取りをソケット通信で行うという一点を除き、インターネットにアクセスするソフトとそうでないソフトには特に差はありません。

ただし、現在の世界でインターネットにアクセスするソフトを作る際には、セキュリティについては気を使う必要があります。通信の秘密を守るための暗号化や侵入防止策を実装しないと、安心して使えるソフトにはできません。セキュリティを気にしないならこの限りではありませんが。

また、ソフトがインターネットにアクセスするということは、必ず「通信相手がいる」ということです。相手が自分と同じソフトの場合でのP2P通信ならともかく、何らかのサーバソフトの類の場合は、必ず「通信プロトコル」についての知識が必要になります。

ソケット通信さえ出来ればインターネット上のどんな相手ともデータのやり取りはできますが、具体的にデータの送受信を行う内容や順序は、事前に決められたルール(プロトコル)に従う必要があります。メールソフトであればPOPプロトコルやIMAPプロトコル、WebブラウザであればHTTPプロトコルと言った、通信の詳細な取り決めを理解した上で、その通りに通信するようにプログラムを作る必要があります。

なお、ソケット通信さえ出来ればどんな開発言語でも各種プロトコルを実装することは可能ですが、言語によっては代表的な通信プロトコルについてあらかじめライブラリを用意している場合がありますので、開発の難易度は言語によって変化します。


inosisiさんのコメント
ありがとうございました 「ソケット通信」を使うか使わないかの違いがあると理解しました >「通信プロトコル」についての知識が必要になります。 この辺が非常に理解できづらいところですすこしづつ勉強していきたいと 思います。

hissssaさんのコメント
通信プロトコルとは、ネットワークを介してデータをやり取りする際のルールです。考え方としては別に難しい話ではありません。 人間の世界に例えて言うなら、ソケット通信とは人間同士が手紙で情報をやりとりするようなものです。その手紙の「紙」が通信でやり取りされるデータです。 ただ、例えば手紙を使ってあなたが役所に申請を出すような場合、ただ紙に漫然と要望を書いても受けては貰えません。そのためには、その手続き用に事前に決まっている書式の書類を用意し、必要事項を記入して送らないといけません。この書類の書式が即ちプロトコルなわけです。 簡単な例として、SMTPメールを送信する処理の場合は、ソケットを介して以下のようなやり取りを行うことになります。 ?クライアントからサーバに「HELO (送信ホスト名)」という文字列を送信 ?サーバがクライアントに「250 OK reply」と返信 ?クライアントからサーバに「MAIL FROM: (送信者のメールアドレス)」を送信 ?サーバがクライアントに「250 OK reply」と返信 ?クライアントからサーバに「RCPT TO: (送り先のメールアドレス)」を送信 ?サーバがクライアントに「250 OK reply」と返信 ・ ・ ・ このように、所定のルールに則って、クライアントがメール送信のための情報をサーバに送り込むわけです。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ