C++でプログラミングをしているのですが、ソケット通信のクライアント側の作成で困っています。
サーバー側は完成していて、TcpListenerで通信をするようにしているのですが、クライアント側はTcpClientでないと通信できないのでしょうか。
私は今、初歩的なソケット通信プログラムしか組んでいません。
プログラムはこんな感じです。
int main(void){
SOCKET s; //ソケット
//接続するサーバの情報
struct sockaddr_in dest;
//接続するサーバのIPアドレス
//xxx.xxx.xxx.xxxの形式で指定する
char destination[] = "xxx.xxx.xxx.xxx";
char buffer[1024];
//ソケット通信の準備
WSADATA data;
WSAStartup(MAKEWORD(2,0), &data);
//接続先(サーバ)のアドレス情報を設定
memset(&dest, 0, sizeof(dest));
//ポート番号はサーバプログラムと共通
dest.sin_port = htons(7000);
dest.sin_family = AF_INET;
dest.sin_addr.s_addr = inet_addr(destination);
//ソケットの生成
s = socket(AF_INET, SOCK_STREAM, 0);
//サーバへの接続
if(connect(s, (struct sockaddr *) &dest, sizeof(dest))){
printf("%sに接続できませんでした\n", destination);
}
else
{
printf("%sに接続しました\n", destination);
}
printf("サーバに送信する文字列を入力して下さい\n");
scanf("%s", buffer);
//サーバにデータを送信
send(s, buffer, sizeof(buffer), 0);
//サーバからデータを受信
recv(s, buffer, 1024, 0);
printf("→ %s\n\n", buffer);
// Windows でのソケットの終了
closesocket(s);
WSACleanup();
}
このプログラムでサーバー側と通信は可能でしょうか?
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
とりあえず。
。。「C++ ソケット通信」といったキーワードで検索してみましょう。OS名をキーワードに加えてもよいでしょう。
ちゃんと勉強する場合は大きめの書店かAmazonなどのネット上の書店でソケット通信に関する書籍を購入されるとよいです。
サーバ側は不特定多数からの接続を待ち、複数同時接続が出来るようにするとかいった配慮が必要ですが、クライアント側はそれに比べたら。。。(^^;
参考まで。
No.2
- 回答日時:
>クライアント側はTcpClientでないと通信できないのでしょうか。
telnetでクライアント側は代用できます。
telnet 接続先アドレス ポート番号
で接続が可能です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# TCP/IP通信時のサーバーからの受信 2 2022/11/23 09:11
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- その他(メールソフト・メールサービス) Thunderbirdのメール送信ができません 1 2022/10/28 16:54
- C言語・C++・C# C言語 プログラミング 4 2022/05/22 11:53
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# プログラミング c言語 4 2023/03/07 01:05
- その他(メールソフト・メールサービス) ドメイン間違えでエラー送信メールが来ない 1 2022/05/10 18:44
- C言語・C++・C# 宣言する関数の形が決まっている状態で、 str1とstr2の文字列をこの順に引っ付けてstrに保存し 2 2022/05/30 18:21
- C言語・C++・C# カードシャッフルのブログラムを使ってc言語でブラックジャックをしたい 2 2022/04/12 15:13
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
TCP/IP通信時のサーバーからの受信
-
割り込み処理について
-
WinSockでの通信プログラムがう...
-
javaでのプログラミングで・・・
-
ソケットプログラミングに関す...
-
recv関数でフリーズしてしまう
-
ソケット通信
-
UDPで受信終了の合図を出して受...
-
UDP通信する時に、相手にどうや...
-
SIPがNATを越えられない理由
-
C#とTCP/IPを利用したサーバー...
-
名前付きパイプの通信ポートに...
-
UDP通信におけるbind関数について
-
Linuxでパケットを発信する際・...
-
Connectエラーが出てしまう・・...
-
TCP/IP通信型プログラムです。 ...
-
RS-232Cのポート番号を知りたい
-
空きポートの取得方法
-
Winsockで接続待ちタイムアウト...
-
ソケットとそれに基づくストリ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
TCP/IP通信時のサーバーからの受信
-
UDP通信におけるbind関数について
-
Winsockで接続待ちタイムアウト...
-
recv関数でフリーズしてしまう
-
VB6のwinsockでconnectできない
-
ソケットのクローズについて
-
UDP通信する時に、相手にどうや...
-
エクセル VBA でのCOMポート...
-
ソケットのrecvの戻り値が0
-
UdpClient 送信元のIPアドレ...
-
Socket通信の0バイト受信について
-
WinSockでの通信プログラムがう...
-
同じLAN内パソコンのIPアドレス...
-
ソケット通信 同じポート番号...
-
VC++でのソケット通信について
-
Connectエラーが出てしまう・・...
-
CreateFile関数でCOMポートが開...
-
Winsockを使わずにVBでSocketを...
-
VB6‥ソケットについて
-
SIPがNATを越えられない理由
おすすめ情報