Foundations of Python Network Programming

(WallPaper) #1

■ Contents


viii


Connecting UDP Sockets ������������������������������������������������������������������������������������������������������������������������������������� 28

Request IDs: A Good Idea ������������������������������������������������������������������������������������������������������������������������������������� 29

Binding to Interfaces �������������������������������������������������������������������������������������������������������������������30

UDP Fragmentation ���������������������������������������������������������������������������������������������������������������������32

Socket Options ����������������������������������������������������������������������������������������������������������������������������33

Broadcast ������������������������������������������������������������������������������������������������������������������������������������ 34

When to Use UDP ������������������������������������������������������������������������������������������������������������������������������������������������� 36

Summary ������������������������������������������������������������������������������������������������������������������������������������� 36

■ Chapter 3: TCP �����������������������������������������������������������������������������������������������������������������39

How TCP Works ���������������������������������������������������������������������������������������������������������������������������39

When to Use TCP �������������������������������������������������������������������������������������������������������������������������40

What TCP Sockets Mean �������������������������������������������������������������������������������������������������������������41

A Simple TCP Client and Server ��������������������������������������������������������������������������������������������������42

One Socket per Conversation ������������������������������������������������������������������������������������������������������������������������������ 45

Address Already in Use ���������������������������������������������������������������������������������������������������������������������������������������� 46

Binding to Interfaces �������������������������������������������������������������������������������������������������������������������47

Deadlock ������������������������������������������������������������������������������������������������������������������������������������� 48

Closed Connections, Half-Open Connections ������������������������������������������������������������������������������53

Using TCP Streams Like Files ������������������������������������������������������������������������������������������������������54

Summary ������������������������������������������������������������������������������������������������������������������������������������� 54

■ Chapter 4: Socket Names and DNS ����������������������������������������������������������������������������������57

Hostnames and Sockets ��������������������������������������������������������������������������������������������������������������57

Five Socket Coordinates �������������������������������������������������������������������������������������������������������������������������������������� 58

IPv6 ���������������������������������������������������������������������������������������������������������������������������������������������������������������������� 59

Modern Address Resolution ��������������������������������������������������������������������������������������������������������60

Using getaddrinfo( ) to Bind Your Server to a Port ����������������������������������������������������������������������������������������������� 61

Using getaddrinfo( ) to Connect to a Service ������������������������������������������������������������������������������������������������������� 62

Asking getaddrinfo( ) for a Canonical Hostname �������������������������������������������������������������������������������������������������� 63
Free download pdf