UNIX Network Programming Volume 1, Third Edition [Electronic resources] : The Sockets Networking API نسخه متنی

اینجــــا یک کتابخانه دیجیتالی است

با بیش از 100000 منبع الکترونیکی رایگان به زبان فارسی ، عربی و انگلیسی

UNIX Network Programming Volume 1, Third Edition [Electronic resources] : The Sockets Networking API - نسخه متنی

Addison Wesley

| نمايش فراداده ، افزودن یک نقد و بررسی
افزودن به کتابخانه شخصی
ارسال به دوستان
جستجو در متن کتاب
بیشتر
تنظیمات قلم

فونت

اندازه قلم

+ - پیش فرض

حالت نمایش

روز نیمروز شب
جستجو در لغت نامه
بیشتر
لیست موضوعات
توضیحات
افزودن یادداشت جدید










Exercises


6.1

We said that a descriptor set can be assigned to another descriptor set across an equals sign in C. How is this done if a descriptor set is an array of integers? (

Hint : Look at your system's <sys/select.h> or <sys/types.h> header.)

6.2

When describing the conditions for which select returns "writable" in Section 6.3, why did we need the qualifier that the socket had to be nonblocking for a write operation to return a positive value?

6.3

What happens in Figure 6.9 if we prepend the word "else" before the word "if" on line 19?

6.4

In our example in Figure 6.21 add code to allow the server to be able to use as many descriptors as currently allowed by the kernel. (

Hint : Look at the setrlimit function.)

6.5

Let's see what happens when the second argument to shutdown is SHUT_RD. Start with the TCP client in Figure 5.4 and make the following changes: Change the port number from SERV_PORT to 19, the chargen server (Figure 2.18); then, replace the call to str_cli with a call to the pause function. Run this program specifying the IP address of a local host that runs the chargen server. Watch the packets with a tool such as tcpdump (Section C.5). What happens?

6.6

Why would an application call shutdown with an argument of SHUT_RDWR instead of just calling close?

6.7

What happens in Figure 6.22 when the client sends an RST to terminate the connection?

Figure 6.25 to call sysconf to determine the maximum number of descriptors and allocate the client array accordingly.


/ 450