C言語を参考記事socketを
参考に学んでいるのですがわからないところがあったので教えてください。
c
1if (connect(sockfd, (struct sockaddr *)&client_addr, 2 3 sizeof(client_addr)) > 0) { 4 5 perror("client: connect"); 6 7 close(sockfd); 8 9 exit(1); 10 11 }
この中の
C
1if (connect(sockfd, (struct sockaddr *)&client_addr, 2 3 sizeof(client_addr)) > 0)
この中で2点わからないところがあるのでお願いします。
#質問1(struct sockaddr *)&client_addr
if文の中の(struct sockaddr *)&client_addrが理解できないです。
そもそもconnectの引数について
string
1接続の試行先のソケット・アドレスを含む ソケット・アドレス構造体を指すポインター。
一応
c
1(struct sockaddr *)&client_addr 2の中の 3&client_addr
がアドレスを示していることはわかるのですが
c
1(struct sockaddr *)
これの意味が理解できません。
前の質問 ポインタについて・・・
類似していますけど、このコードがどうポインタ(?)したいのかが
わかりません。
#質問2 if文について
c
1if (connect(sockfd, (struct sockaddr *)&client_addr, 2 3 sizeof(client_addr)) > 0)
この文は
c
1(connect(sockfd, (struct sockaddr *)&client_addr, 2 3 sizeof(client_addr)){ 4処理 5}
単純にこれが0より大きければ処理を実行するという
文だと思うのですが
この0より大きければっておかしくないですか?
(構造体が2つ?)
connectで接続ができたらっていうことなのですか?
(それでも0を使い意味が分からない・・・。)
分からないので参考になるリンクまたは説明をお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/25 13:18