タグ

sockaddrに関するtreby006のブックマーク (2)

  • クライアントプログラム

    (1)のソケット生成ではsocket()システムコールを使ってソケットを 生成しますが、その引数にはソケットの種別を指定します。これにはソケットが TCP用であるのか、UDP用であるのかなどが含まれます。そして、ソケットの生 成が成功したときは、socket()はその生成したソケットの識別子を 返します。 ただし、socket()はソケットを作るだけであり、この段階では、サー バ側コンピュータと通信接続は行われていません。そこで、(2)の connect()システムコールを使って、(1)で生成したソケットをサー バ側プログラムのソケットと通信接続を行います。このとき、 connect()の引数には、ソケット識別子の他に、接続先となるサーバ 側コンピュータ(正しくはネットワークインターフェース)のIPアドレスとポー ト番号などの情報を与えます。 通信接続完了後は、(3)のread()システム

  • 構造体とIPアドレスの操作

    3.1 構造体とIPアドレスの操作 ここでは、これから学ぶシステムコールを使う上で必要となる構造体と、IPアドレスを格納するための関数についての説明を行います。中には構造が複雑なものもあるので、しっかりと理解したうえで使用してください。 sockaddr構造体 sockaddr構造体は、ソケットプログラミングを行なう上で基となる構造体です。しかしながらこの構造体は、ソケットで様々な通信を実現するための雛形であり、実際にそのまま使う機会はありません。 <構造> FreeBSDの場合、sockaddr構造体のメンバは以下のようになります。なお、Linuxの場合はsa_lenがなく、代わりにsa_familyが16bitのサイズになります。 #include <netinet/in.h> struct  sockaddr {         u_char             sa

  • 1