Hands-On Network Programming with C : Learn Socket Programming in C and Write Secure and Optimized Network Code /

Network programming, a challenging topic in C, is made understandable through careful exposition of socket programming APIs. Keeping up with the current trends, you will gain an insight into web programming for IoT. Finally, you will learn how to monitor the network, troubleshoot problems, implement...

Full description

Saved in:
Bibliographic Details
Main Author: Van Winkle, Lewis
Format: Electronic eBook
Language:English
Published: Birmingham : Packt Publishing, Limited, 2019.
Subjects:
Online Access:CONNECT

MARC

LEADER 00000cam a2200000 i 4500
001 in00006438855
006 m o d
007 cr cnu---unuuu
008 190518s2019 enk o 000 0 eng d
005 20240621152336.7
019 |a 1101639778 
020 |a 1789344085 
020 |a 9781789344080  |q (electronic bk.) 
035 |a 1WRLDSHRon1101797461 
035 |a (OCoLC)1101797461  |z (OCoLC)1101639778 
037 |a 7166CDB6-F03F-4E0E-A398-5CA9855BA53D  |b OverDrive, Inc.  |n http://www.overdrive.com 
040 |a EBLCP  |b eng  |e pn  |c EBLCP  |d TEFOD  |d OCLCF  |d OCLCQ  |d YDX  |d UKAHL  |d OCLCQ  |d N$T  |d OCLCQ  |d NLW  |d OCLCO  |d NZAUC  |d OCLCQ  |d OCLCO  |d TMA  |d OCLCQ 
049 |a TXMM 
050 4 |a QA76.73.C15 
082 0 4 |a 005.13/3  |2 23 
100 1 |a Van Winkle, Lewis. 
245 1 0 |a Hands-On Network Programming with C :  |b Learn Socket Programming in C and Write Secure and Optimized Network Code /  |c Lewis Van Winkle. 
260 |a Birmingham :  |b Packt Publishing, Limited,  |c 2019. 
300 |a 1 online resource (467 pages) 
336 |a text  |b txt  |2 rdacontent 
337 |a computer  |b c  |2 rdamedia 
338 |a online resource  |b cr  |2 rdacarrier 
347 |a data file  |2 rda 
588 0 |a Print version record. 
505 0 |a Cover; Title Page; Copyright and Credits; Dedication; About Packt; Contributors; Table of Contents; Preface; Section 1 -- Getting Started with Network Programming; Chapter 1: Introducing Networks and Protocols; Technical requirements; The internet and C; OSI layer model; TCP/IP layer model; Data encapsulation; Internet Protocol; What is an address?; Domain names; Internet routing; Local networks and address translation; Subnetting and CIDR; Multicast, broadcast, and anycast; Port numbers; Clients and servers; Putting it together; What's your address?; Listing network adapters from C 
505 8 |a Listing network adapters on WindowsListing network adapters on Linux and macOS; Summary; Questions; Chapter 2: Getting to Grips with Socket APIs; Technical requirements; What are sockets?; Socket setup; Two types of sockets; Socket functions; Anatomy of a socket program; TCP program flow; UDP program flow; Berkeley sockets versus Winsock sockets; Header files; Socket data type; Invalid sockets; Closing sockets; Error handling; Our first program; A motivating example; Making it networked; Working with IPv6; Supporting both IPv4 and IPv6; Networking with inetd; Summary; Questions 
505 8 |a Chapter 3: An In-Depth Overview of TCP ConnectionsTechnical requirements; Multiplexing TCP connections; Polling non-blocking sockets; Forking and multithreading; The select() function; Synchronous multiplexing with select(); select() timeout; Iterating through an fd_set; select() on non-sockets; A TCP client; TCP client code; A TCP server; TCP server code; Building a chat room; Blocking on send(); TCP is a stream protocol; Summary; Questions; Chapter 4: Establishing UDP Connections; Technical requirements; How UDP sockets differ; UDP client methods; UDP server methods 
505 8 |a A first UDP client/serverA simple UDP server; A simple UDP client; A UDP server; Summary; Questions; Chapter 5: Hostname Resolution and DNS; Technical requirements; How hostname resolution works; DNS record types; DNS security; Name/address translation functions; Using getaddrinfo(); Using getnameinfo(); Alternative functions; IP lookup example program; The DNS protocol; DNS message format; DNS message header format; Question format; Answer format; Endianness; A simple DNS query; A DNS query program; Printing a DNS message name; Printing a DNS message; Sending the query; Summary; Questions 
505 8 |a Further readingSection 2 -- An Overview of Application Layer Protocols; Chapter 6: Building a Simple Web Client; Technical requirements; The HTTP protocol; HTTP request types; HTTP request format; HTTP response format; HTTP response codes; Response body length; What's in a URL; Parsing a URL; Implementing a web client; HTTP POST requests; Encoding form data; File uploads; Summary; Questions; Further reading; Chapter 7: Building a Simple Web Server; Technical requirements; The HTTP server; The server architecture; Content types; Returning Content-Type from a filename; Creating the server socket 
500 |a Multiple connections buffering 
520 |a Network programming, a challenging topic in C, is made understandable through careful exposition of socket programming APIs. Keeping up with the current trends, you will gain an insight into web programming for IoT. Finally, you will learn how to monitor the network, troubleshoot problems, implement security, and understand best practices. 
500 |a EBSCO eBook Academic Comprehensive Collection North America  |5 TMurS 
650 0 |a C (Computer program language) 
650 0 |a Application program interfaces (Computer software) 
650 0 |a Computer networks. 
730 0 |a WORLDSHARE SUB RECORDS 
776 0 8 |i Print version:  |a Van Winkle, Lewis.  |t Hands-On Network Programming with C : Learn Socket Programming in C and Write Secure and Optimized Network Code.  |d Birmingham : Packt Publishing, Limited, ©2019  |z 9781789349863 
856 4 0 |u https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=2135777&authtype=ip,sso&custid=s4672406  |z CONNECT  |3 eBooks on EBSCOhost  |t 0 
949 |a ho0 
994 |a 92  |b TXM 
998 |a wi  |d z 
999 f f |s c5f770d6-0b4f-4ba0-9baa-830f60d96c73  |i a4ad6195-c559-4d3e-ad3d-6e819d3dcbb0  |t 0 
952 f f |a Middle Tennessee State University  |b Main  |c James E. Walker Library  |d Electronic Resources  |t 0  |e QA76.73.C15   |h Library of Congress classification