Solaris2.6を使用しています。

/etc/servicesにプロトコルとポート番号の
対応を記述しますが、あるアプリで使ってい
るポートは、このファイルに対応を記述して
ないのに、ポートが使用できてしまいます。
(inetdとかのものではありません)
そのアプリでは、1024以上のポート番号
を使用しているのですが、その辺も関係ある
のかわかりません。
なぜ記述していないものも、動けてしまうの
か教えてください。

A 回答 (1件)

> なぜ記述していないものも、動けてしまうのか教えてください。



まず、結論から言うと、ソケット通信を行う際に /etc/services にポート番号が
記述されていることは、必須ではありません。

プログラムの中に、直接ポート番号を記述することができます。

ただし、良く知られている番号以外は、ポート番号がかち合っちゃうことがある
ので、ソケット通信を行うアプリケーションが利用するポート番号を指定する
共通の仕組みとして /etc/services ファイルがあるのです。

ご存知のように、このファイルには、サービスを表す名前とポート番号が対で記述
してあります。

アプリケーションの方では、ポート番号ではなく、サービス名の方をプログラムの
中に記述をし、getservbyname() 関数などでポート番号を取得するように作ります。


このやり方でも、ポートに相当する「サービス名」をプログラム中に記述するわけ
ですから、そのサービス名が複数のアプリケーションでかち合ってしまう問題が
解消されているわけではありません。

ただの数値よりも、文字列の方が冗長度が高いので、かち合ってしまう問題が
起こり難いだろう、ということです。
    • good
    • 1
この回答へのお礼

早速のご回答ありがとうございます。
/etc/servicesの使われ方がよくわかりました。
とてもわかりやすかったです。
ありがとうございました。

お礼日時:2001/09/29 03:04

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qアプリがダウンロードできない

Androidです。
アプリをダウンロードしようとしても、ダウンロードができません。
他のアプリだとダウンロードできます。

エラーコードは24です。

Aベストアンサー

Androidのバージョンは?
4.0 以上の場合は、ダウンロード マネージャーが無効になっていないか確認。
「設定」「アプリ」「アプリを管理」「すべて」スクロールし「ダウンロード マネージャー」「無効」→「有効にする」(「有効」の場合は「データの消去」・・・注:データが消える)

データが消えるがリセットしてみる。
「Google Playストアのリセット」Playストア起動しホームスクリーンに戻る→「設定」「アプリ」「Google Playストア」キャッシュを消去と強制停止
→「設定」「アプリ」「すべて」「Google サービスフレームワークを表示」データを消去
→GooglePlayストア起動しエラー確認→本体の電源をシャットダウンし再起動

QVineLinux2.6で無線LANを使用する方法

VineLinux2.6をインストールしたノートパソコンThinkPadで無線LANカードを使用できる方法を教えて頂けないでしょうか。無線LANカードはアイ・オー・データのWN-B11/AXPです。

Aベストアンサー

VineLinuxのメーリングリストで、同じカードが使えているみたいです。
参考にしてください。


http://vine.ic.sci.yamaguchi-u.ac.jp/VineUsersML/4/msg03594.html

Qiphoneでapp storeアプリがダウンロードできない場合

iphoneでapp storeアプリがダウンロードできない場合
容量を超えていてiphoneでダウンロードできない場合どうやってアプリをダウンロードするのですか?パソコンと同期して、パソコンでダウンロードしたんですが
クリックしても動きません。

Aベストアンサー

こんばんは。

WiFi接続すれば、20MBを超えるアプリもダウンロードできます。

また、PCでの同期の場合は、iTunesでアプリの同期設定が必要になります。

Qinetd相当のプログラム

TCPリクエストに対する処理を行なうプログラムをC言語(VC)で作成しています。
unix系OSでしたら、inetd, tcpserverを使用すれば標準入出力を行なうだけで、簡単にできます。

Windows上で動作するinetd, tcpserver相当のプログラムというのは
ありますでしょうか?
それがあるのならば、そちらを使いたいです。

もしくは、自力でinetdのようにポートを監視して、プログラムを起動し、
標準入出力に置き換えるようなプログラムを作成しなければならないわけですが、
その際に参考となるサイトなどがありましたら、教えてください。

#始めはC言語のカテゴリに投稿したのですが、回答がつかなかったので、
#こちらに質問させていただきます。

Aベストアンサー

「winsock」で検索してみたら、以下のようなサイトがヒットしました。
http://www.kt.rim.or.jp/~ksk/wskfaq-ja/
他にも色々なサイトがあるようなので、あちこち見てみてはいかがでしょう。

参考URL:http://www.kt.rim.or.jp/~ksk/wskfaq-ja/

QVアプリをダウンロードしようとしたら???

アプリ★ゲットというサイトでVアプリをダウンロードしようとしたら、「この機種での動作確認が出来ておりません、ご了承いただいたらダウンロードをクリックしてください」というような表示が出ます。使用機種はV603SH。一度試しにダウンロードしたのですが、問題なく動作しましたが、いつか動作に問題が出たり、ダウンロードしたアプリが動作しなかったりという事が起きるかが気になっています。アプリ★ゲットというサイト自体V603SHに対応してないのでしょうか?

Aベストアンサー

動作確認が出来ていないのは、そのアプリの作者さんが603SHでの動作確認をしていない(出来ない)だけです。問題なく動作しているのであればそのまま使用して構わないのではないでしょうか。

> いつか動作に問題が出たり、ダウンロードしたアプリが動作しなかったりという事が起きるかが気になっています。

問題が生じる可能性がないとは言えませんが、アプリの異常終了程度では携帯電話本体への影響はあまりないと思います。データ消失などを気になさっているのであれば、定期的にSDカードにバックアップを取る事をお勧めします。

> アプリ★ゲットというサイト自体V603SHに対応してないのでしょうか?

アプリ★ゲットには603SHで動作確認されたアプリが多数ありますので対応していないという事はないでしょう。

Qサービスポート番号

(1)ftpやhttpを動かしている場合、サービスポート番号というのは必ず
存在するのでしょうか?

(2)使用機器は、AXIS StorPoint CD E100で、それを実現している技術は、
AXIS ThinServerテクノロジで独自のもののようです。

Aベストアンサー

サービスポートがなければお互いにっどのポートを使ってやりとりをしたらいいのか分からずデータの送受信が行えません。

AXIS StorPoint CD E100はCD,DVDをネットワーク上で共有するための装置ですよね?
これを利用するためにはTCP/IPでどのポートを使ってやりとりをするという物は決まっているはずです。

参考URL:http://www.murashima.matsudo.chiba.jp/mura/tcpip-port.htm

Qスマホのアプリをアンインストール後に再ダウンロード

アプリをいつも通りダウンロードしたのですが、
何度見てもアプリの一覧になかったので
アンインストールして、もう一度ダウンロードしようと試みましたが、
ダウンロードの画面で「ダウンロード」をタッチしても先の画面に進みません。
Playストアのマイアプリの中も探してみましたが、ありませんでした。
どうしたらもう一度アプリをダウンロードできるのでしょうか?
ちなみにauのIS17SHを使用しています。
よろしくお願いします。

Aベストアンサー

具体的なアプリ名をあげられた方が、わかりが良いかも?
アプリの都合か、質問者様の何か操作や設定ミスか、端末のトラブルか、何とも判断すきません。

Q新しく開くポート番号

また、ここでお世話になろうとしています。

Turbolinux7でサーバーを構築しております。初心者なんでかなり苦戦(^-^;
今回、データベースサーバとのからみがありまして新しくポートを開いて下さい!
との指摘をもらいました。今、手元にあるガイドにはそこまで詳しくは載っておらずインターネットでも調べてはいるのですがいまいちなところです。
そこで、port *** を開けてっ♪ っといわれた場合どうしたらいいのでしょうか?できれば具体的にコマンド等を書いていただくと助かります。
よろしくお願いします。

Aベストアンサー

>hogep 591/tcp を追加記載しておけばいいんですね
hogepなんていうプロトコルはありませんよ。これはあくまで説明のための仮の名前です。質問文では使うソフトの名前がわからなかったもので。

下のURLで見るとFailMakerはhttp-altを使うようですね。ですから
http-alt 591/tcp
と書きます。さらにFileMakerはudpも使っているようなので、もうひとつ
http-alt 591/udp
というエントリーも書いておいた方がよいでしょう。

参考URL:http://www.murashima.matsudo.chiba.jp/mura/port500-1023.htm

Q中国スマートフォンでのアプリダウンロードについて

中国(大連)在住です。

最近、中国向けスマートフォン(SHARP SH8158U)を購入しました。

さっそく、アプリをダウンロードしようとしましたが、
「ANDROID MARKET」にアクセスできません。 というか、アイコンが見当たりません。
どうしたら、「ANDROID MARKET」のアプリをダウンロードできるでしょうか?
ご存知の方いましたら、是非とも教えて下さい。

現状、他のアプリサイトや、APKファイルのインストール等でアプリを追加していますが、
本当に欲しいアプリは、なかなか少なく、
なんとか、「ANDROID MARKET」のアプリをダウンロードしたいです。

よろしくお願い致します。

以上。

Aベストアンサー

Googleが対応していないとか以前に、中国からの国外サイト接続への検閲に引っかかるので中国では「違法」となる可能性もありますので無理やりマーケットを入れたとしても逮捕されないようにご注意を。

日本とは違いますのでくれぐれも。

中国の端末を日本で使うのであれば無理やりマーケットアプリを入れようが問題ないのでそのような日本での使い方はかまわないとは思いますが、中国はとにかく日本の感覚でITをみてはいけない気がします。

別に中国が嫌いなわけではなく、私は日本人ですが嫁が中国人なのでいろいろと文化の違いを直視していますが、くれぐれもご注意を。
このブログの方が詳しく解説されているので参考にしてみてください。

参考URL:http://chenyu.seesaa.net/article/12582250.html

QFreeBSDでシリアルポート使用について

現在、SW・ルータなどをシリアル経由ログインし
設定していますが、その操作端末をFreeBSDでならねば
ならなくなりました。Windows系のOSではteratermなど
つかって簡単にシリアルログイン出来るのですが
FreeBSDの場合どうすればいいのでしょうか?
なにか漠然とした質問になってしまいましたが
よろしくお願いします。

Aベストアンサー

シリアルポートを直接いじりたいんだとすれば、tip コマンドでしょうか。
シリアルの場合、速度とかビット数とかどのポートかという設定が必要ですが、
/etc/remote や $REMOTE が指すファイルに記述します。
詳しくはマニュアルをどうぞ。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報