Hands-On Network Programming with C

Winkle, Lewis Van

  • 出版商: Packt Publishing
  • 出版日期: 2019-05-13
  • 售價: $1,870
  • 貴賓價: 9.5$1,777
  • 語言: 英文
  • 頁數: 478
  • 裝訂: Quality Paper - also called trade paper
  • ISBN: 1789349869
  • ISBN-13: 9781789349863
  • 相關分類: C 程式語言Web-crawler 網路爬蟲
  • 海外代購書籍(需單獨結帳)

買這商品的人也買了...

商品描述

Key Features

  • Leverage your C or C++ programming skills to build powerful network applications
  • Get to grips with a variety of network protocols that allow you to load web pages, send emails, and do much more
  • Write portable network code for operating systems such as Windows, Linux, and macOS

Book Description

Network programming, a challenging topic in C, is made easy to understand with a careful exposition of socket programming APIs. This book gets you started with modern network programming in C and the right use of relevant operating system APIs.

This book covers core concepts, such as hostname resolution with DNS, that are crucial to the functioning of the modern web. You'll delve into the fundamental network protocols, TCP and UDP. Essential techniques for networking paradigms such as client-server and peer-to-peer models are explained with the help of practical examples. You'll also study HTTP and HTTPS (the protocols responsible for web pages) from both the client and server perspective. To keep up with current trends, you'll apply the concepts covered in this book to gain insights into web programming for IoT. You'll even get to grips with network monitoring and implementing security best practices.

By the end of this book, you'll have experience of working with client-server applications, and be able to implement new network programs in C.

The code in this book is compatible with the older C99 version as well as the latest C18 and C++17 standards. Special consideration is given to writing robust, reliable, and secure code that is portable across operating systems, including Winsock sockets for Windows and POSIX sockets for Linux and macOS.

商品描述(中文翻譯)

主要特點


  • 運用您的 C 或 C++ 程式設計技能來建立強大的網路應用程式

  • 熟悉各種網路協定,讓您能載入網頁、發送電子郵件等等

  • 撰寫可移植的網路程式碼,支援 Windows、Linux 和 macOS 等作業系統

書籍描述

本書以謹慎的方式介紹了套接字程式設計 API,使得 C 語言中具有挑戰性的網路程式設計變得易於理解。本書讓您從現代 C 語言網路程式設計入門,並正確使用相關的作業系統 API。

本書涵蓋了核心概念,例如使用 DNS 進行主機名解析,這對現代網頁的運作至關重要。您將深入研究基本的網路協定 TCP 和 UDP。本書通過實際範例解釋了客戶端-伺服器和點對點模型等網路範式的基本技術。您還將從客戶端和伺服器的角度學習 HTTP 和 HTTPS(負責網頁的協定)。為了跟上當前的趨勢,您將應用本書中介紹的概念,深入了解物聯網的網路程式設計。您甚至將掌握網路監控和實施安全最佳實踐的能力。

通過閱讀本書,您將獲得與客戶端-伺服器應用程式的工作經驗,並能夠在 C 語言中實現新的網路程式。

本書中的程式碼與較舊的 C99 版本以及最新的 C18 和 C++17 標準相容。特別考慮到撰寫可靠、穩定和安全的程式碼,並且可在不同作業系統間移植,包括 Windows 的 Winsock 套接字和 Linux、macOS 的 POSIX 套接字。

作者簡介

Lewis Van Winkle is a software programming consultant, entrepreneur, and founder of a successful IoT company. He has over 20 years of programming experience after publishing his first successful software product at age 12. He has over 15 years of programming experience with the C programming language on a variety of operating systems and platforms. He is active in the open-source community and has published several popular open-source programs and libraries-many of them in C. Today, Lewis spends much of his time consulting, where he loves taking on difficult projects that other programmers have given up on. He specializes in network systems, financial systems, machine learning, and interoperation between different programming languages.

作者簡介(中文翻譯)

Lewis Van Winkle 是一位軟體程式顧問、企業家,也是一家成功的物聯網公司的創辦人。他在12歲時發布了他的第一個成功軟體產品,至今已有超過20年的程式設計經驗。他在各種作業系統和平台上使用C程式語言已有超過15年的經驗。他活躍於開源社區,並發布了幾個受歡迎的開源程式和函式庫,其中許多是使用C語言開發的。如今,Lewis大部分時間都在提供顧問服務,他喜歡接受其他程式設計師放棄的困難項目。他專注於網路系統、金融系統、機器學習以及不同程式語言之間的互操作性。

目錄大綱

  1. Introducing Networks and Protocols
  2. Getting to Grips with Socket APIs
  3. An In-Depth Overview of TCP connections
  4. Establishing UDP Connections
  5. Hostname Resolution and DNS
  6. Building a Simple Web Client
  7. Building a Simple Web Server
  8. Making Your Program Send Emails
  9. Loading Secure Web Pages with HTTPS and OpenSSL
  10. Implementing a Secure Web Server
  11. Establishing SSH Connections
  12. Network Monitoring and Security
  13. Socket Programming Tips and Pitfalls
  14. Web Programming for the Internet of Things
  15. Answers to Questions
  16. Setting Up Your C Compiler on Windows
  17. Setting Up Your C Compiler on Linux
  18. Setting Up Your C Compiler on macOS
  19. Example Programs

目錄大綱(中文翻譯)

- 介紹網路和協議
- 熟悉 Socket API
- TCP 連線的深入概述
- 建立 UDP 連線
- 主機名稱解析和 DNS
- 建立簡單的網頁客戶端
- 建立簡單的網頁伺服器
- 讓你的程式發送電子郵件
- 使用 HTTPS 和 OpenSSL 載入安全網頁
- 實作安全網頁伺服器
- 建立 SSH 連線
- 網路監控和安全
- Socket 程式設計的技巧和陷阱
- 面向物聯網的網頁程式設計
- 問題的答案
- 在 Windows 上設置 C 編譯器
- 在 Linux 上設置 C 編譯器
- 在 macOS 上設置 C 編譯器
- 範例程式