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

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

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

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

Visual C++

Microsoft Visual C++はWindowsのCとC++の統合開発環境(IDE)であり、コンパイラやデバッガを含んでいます。

ソケット

TCP/IPにおいて、IPアドレスとサブアドレスであるポート番号を組み合わせたネットワークアドレスのことを呼びます。また、ソフトウェアアプリケーションにおいて、TCP/IP通信を行う為の仮想的なインターフェースという意味もある。

TCP

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

Q&A

解決済

2回答

1277閲覧

ソケット通信?TCP/IP? 通信ゲーム C言語

madanai

総合スコア5

C

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

Visual C++

Microsoft Visual C++はWindowsのCとC++の統合開発環境(IDE)であり、コンパイラやデバッガを含んでいます。

ソケット

TCP/IPにおいて、IPアドレスとサブアドレスであるポート番号を組み合わせたネットワークアドレスのことを呼びます。また、ソフトウェアアプリケーションにおいて、TCP/IP通信を行う為の仮想的なインターフェースという意味もある。

TCP

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

0グッド

0クリップ

投稿2020/07/30 05:11

前提・実現したいこと

プログラミング超初心者です。
C言語で【1対1で通信をする対戦ゲーム】を作成したいのですが、
そもそもどうやって通信をするのか分かりません。

調べたところ、TCPという接続方法が適しているようですが、
ネットにあるサンプルコードを見てもほぼどういう意味なのか分からず、
コピペしても上手くいかず、1文ずつ調べてもサイトによって書いてあることがまちまちで...

現状は、ソケット通信のコードの書き方を1から知りたいのですが
良い資料もサイトも見つからない状態で詰んでいます。

教えてほしいこと
・SOCKETやWASADATA等の宣言の意味、通信に必要なプログラミング工程
・ネットワークプログラミングの基礎の基礎から学べるサイトや本があれば

通信し、相手とやり取りできるところまでを知りたいです。
専門用語プログラミング用語、分からないものが多いです。

Microsoft Visual studio

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

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

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

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

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

maisumakun

2020/07/30 05:34

環境はWindows限定で大丈夫ですか?
dodox86

2020/07/30 05:46

> 現状は、ソケット通信のコードの書き方を1から知りたいのですが > 良い資料もサイトも見つからない状態で詰んでいます。 良い資料もサイトもたくさんあるはずなのですが、質問者さんにとって良いと思えないだけです。 > 通信し、相手とやり取りできるところまでを知りたいです。 > 専門用語プログラミング用語、分からないものが多いです。 「Winsock チュートリアル」で検索してみてチンプンカンプンだったら、いち回答で答え、理解させるのは大変に難しいと思います。ハンズオンくらいが必要ではないかと。Windowsプログラミングと言うだけでちょっともう特殊です。もちろん、回答できる方は絶対居ない、と言うつもりもありませんが。
madanai

2020/07/30 06:03

良いサイトが無い、というのは語弊がありました。 求めている情報があまりに基礎的な部分ですので、 そこだけをかいつまんで詳しく説明してあるサイトが見つからなかった、ということをお伝えしたかったのです。 早速winsock チュートリアルで調べてみましたが、 やはりパッと見たところ私には理解が追い付かない内容のものが多いです...。 winsockどころか、C言語どころか、プログラミング自体全くの初心者でして(PCに関する知識もあまり無く)、それでも分かりやすい説明がどこかにあればと思い質問させていただきました。 もう少し知識を増やしてからでないと難しいようですね。
madanai

2020/07/30 06:05

Windowsのみで大丈夫です!
guest

回答2

0

自己解決

入門書を買います!!!
ありがとうございました。

投稿2020/07/31 01:46

madanai

総合スコア5

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

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

dodox86

2020/07/31 05:38

勉強の進め方の案のひとつとして、ソケットプログラミングに関しては、HTTPのクライアントを作ってみると良いです。最初クライアントで、ご自分で建てたapache2などのHTTPサーバーにつなげる。(あるいは迷惑にならない程度に外部のWEBサーバーに)そのクライアントができたら、今度はHTTP(WEB)サーバーを作ってみる。TCPも分かるし、HTTP、WEBの仕組みも分かります。
madanai

2020/08/03 03:00

ありがとうございます。 お返事遅くなり失礼致しました。 HTTPならすこーしだけかじっていたので、まだ理解しやすいかもしれません。 勉強法の1つとして参考にさせていただきます。 終始親身にアドバイスしていただき、本当にありがとうございました。
guest

0

winsockどころか、C言語どころか、プログラミング自体全くの初心者でして

まず、Cに入門する。
次に、TCP/IPに入門する。
両方に入門すれば、ソケット通信の参考書を読んでも意味がわかるようになるかと思います。

投稿2020/07/30 09:59

otn

総合スコア84555

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

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

madanai

2020/07/30 11:43

入門というのは、入門書などを読み理解するということでしょうか?
otn

2020/07/30 11:44

そうですね。
madanai

2020/07/30 11:47

ありがとうございます。 やはり本などで勉強した方が良いですよね! お勧めの本などございますか? Cの絵本しか読んだことがなくて…汗
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問