質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

GCC

GCCはGNU Compiler Collectionの略です。LinuxのC言語コンパイラのデファクトスタンダードであり、数多くの他言語やプラットフォームサポートもします。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

TCP

TCP(Transmission Control Protocol)とは、トランスポート層のプロトコルで、コネクション型のデータサービスです。

UDP

UDP(User Datagram Protocol)とは、トランスポート層のプロトコルであり、コネクション型のデータサービスです。IPネットワーク上の別のホストにコンピュータのアプリケーションがメッセージを送ることができ、転送チャンネルやデータ経路を設定する必要はありません。TCPに比べて高速であるが、信頼性が薄いという特徴があります。

Q&A

3回答

1921閲覧

fopenを使用した操作

deluhi0905

総合スコア22

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

GCC

GCCはGNU Compiler Collectionの略です。LinuxのC言語コンパイラのデファクトスタンダードであり、数多くの他言語やプラットフォームサポートもします。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

TCP

TCP(Transmission Control Protocol)とは、トランスポート層のプロトコルで、コネクション型のデータサービスです。

UDP

UDP(User Datagram Protocol)とは、トランスポート層のプロトコルであり、コネクション型のデータサービスです。IPネットワーク上の別のホストにコンピュータのアプリケーションがメッセージを送ることができ、転送チャンネルやデータ経路を設定する必要はありません。TCPに比べて高速であるが、信頼性が薄いという特徴があります。

0グッド

0クリップ

投稿2014/11/06 12:21

ご質問いたします。

C言語でfopen関数を使用してクライアント側とサーバ側で利用できる
TCPかUDPのポート番号を「config」のファイルに記載して作成しておき、
ファイルを読み込んでTCPかUDPのポート番号をソケットの構造体に反映させることは可能でしょうか。

また、TCPとUDPで文字列を送受信した際にクライアント側、サーバ側毎の文字列や宛先ポート番号、受信アドレス、送受信の時間を記載してログファイルとして書き込むことは可能でしょうか。

OSはLINUX、コンパイラはGCCです。
ご回答、宜しくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

可能かといえば可能ですが、一連の質問を見ている限り、何のために何を聞いているかも定かでない質問ばかりです。
「駅で切符を買うことは可能ですか?」
「そんなの可能に決まってるじゃん。何でそんなことわざわざ聞くの?」
みたいな。鉄道に触れたことのない人だと持って当然の疑問なわけですが。

おそらくはプログラミング経験がほとんど無いのでしょうか、
まずは簡単なプログラム~~あるファイルを読んで情報を加工して別のファイルに書く~~から
始めるのが良いかと思います。

その次は、TCPクライアントですかね。あるウェブサイトにHTTP接続してページを取得してファイルに保存。
次がTCPサーバー。特定のポートで待ち受けて、接続があれば受信してコンソールに表示とかファイルに保存とか。
こういう単純なプログラムがすらすら書けるようになると、次に色々見えてくると思います。

投稿2014/11/07 00:44

otn

総合スコア84421

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

普通は getservbyname() - 名前によるサーバー・エントリーの取得 使います。

投稿2022/07/15 01:16

inf102

総合スコア20

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ソケットの構造体と言っても、単に構造体メンバに代入するとか、バイナリイメージを構造体に当てるとかだと思いますので、可能かどうかであれば可能だと思います。
送受信のタイミングで特定の処理をすることは可能です。通信情報の取得も実装の仕方次第の部分はありますが、可能です。

投稿2014/11/07 00:30

TaMaMhyu

総合スコア1356

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問