万本电子书0元读

万本电子书0元读

顶部广告

Network Programming with Rust电子书

售       价:¥

16人正在读 | 0人评论 9.8

作       者:Abhishek Chanda

出  版  社:Packt Publishing

出版时间:2018-02-27

字       数:36.2万

所属分类: 进口书 > 外文原版书 > 电脑/网络

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
Learn to write servers and network clients using Rust’s low-level socket classes with this guide About This Book ? Build a solid foundation in Rust while also mastering important network programming details ? Leverage the power of a number of available libraries to perform network operations in Rust ? Develop a fully functional web server to gain the skills you need, fast Who This Book Is For This book is for software developers who want to write networking software with Rust. A basic familiarity with networking concepts is assumed. Beginner-level knowledge of Rust will help but is not necessary. What You Will Learn ? Appreciate why networking is important in implementing distributed systems ? Write a non-asynchronous echo server over TCP that talks to a client over a network ? Parse JSON and binary data using parser combinators such as nom ? Write an HTTP client that talks to the server using reqwest ? Modify an existing Rust HTTTP server and add SSL to it ? Master asynchronous programming support in Rust ? Use external packages in a Rust project In Detail Rust is low-level enough to provide fine-grained control over memory while providing safety through compile-time validation. This makes it uniquely suitable for writing low-level networking applications. This book is divided into three main parts that will take you on an exciting journey of building a fully functional web server. The book starts with a solid introduction to Rust and essential networking concepts. This will lay a foundation for, and set the tone of, the entire book. In the second part, we will take an in-depth look at using Rust for networking software. From client-server networking using sockets to IPv4/v6, DNS, TCP, UDP, you will also learn about serializing and deserializing data using serde. The book shows how to communicate with REST servers over HTTP. The final part of the book discusses asynchronous network programming using the Tokio stack. Given the importance of security for modern systems, you will see how Rust supports common primitives such as TLS and public-key cryptography. After reading this book, you will be more than confident enough to use Rust to build effective networking software Style and approach This book will get you started with building networking software in Rust by taking you through all the essential concepts.
目录展开

Title Page

Title Page

Title Page

Title Page

Copyright and Credits

Copyright and Credits

Copyright and Credits

Copyright and Credits

Network Programming with Rust

Network Programming with Rust

Network Programming with Rust

Network Programming with Rust

Dedication

Dedication

Dedication

Dedication

Packt Upsell

Packt Upsell

Packt Upsell

Packt Upsell

Why subscribe?

Why subscribe?

Why subscribe?

Why subscribe?

PacktPub.com

PacktPub.com

PacktPub.com

PacktPub.com

Contributors

Contributors

Contributors

Contributors

About the author

About the author

About the author

About the author

About the reviewer

About the reviewer

About the reviewer

About the reviewer

Packt is searching for authors like you

Packt is searching for authors like you

Packt is searching for authors like you

Packt is searching for authors like you

Preface

Preface

Preface

Preface

Who this book is for

Who this book is for

Who this book is for

Who this book is for

What this book covers

What this book covers

What this book covers

What this book covers

To get the most out of this book

To get the most out of this book

To get the most out of this book

To get the most out of this book

Download the example code files

Download the example code files

Download the example code files

Download the example code files

Conventions used

Conventions used

Conventions used

Conventions used

Get in touch

Get in touch

Get in touch

Get in touch

Reviews

Reviews

Reviews

Reviews

Introduction to Client/Server Networking

Introduction to Client/Server Networking

Introduction to Client/Server Networking

Introduction to Client/Server Networking

A brief history of networks

A brief history of networks

A brief history of networks

A brief history of networks

Layering in networks

Layering in networks

Layering in networks

Layering in networks

Addressing in networks

Addressing in networks

Addressing in networks

Addressing in networks

How IP routing works

How IP routing works

How IP routing works

How IP routing works

How DNS works

How DNS works

How DNS works

How DNS works

Common service models

Common service models

Common service models

Common service models

Connection-oriented service

Connection-oriented service

Connection-oriented service

Connection-oriented service

Connectionless service

Connectionless service

Connectionless service

Connectionless service

The network programming interface in Linux

The network programming interface in Linux

The network programming interface in Linux

The network programming interface in Linux

Summary

Summary

Summary

Summary

Introduction to Rust and its Ecosystem

Introduction to Rust and its Ecosystem

Introduction to Rust and its Ecosystem

Introduction to Rust and its Ecosystem

The Rust ecosystem

The Rust ecosystem

The Rust ecosystem

The Rust ecosystem

Getting started with Rust

Getting started with Rust

Getting started with Rust

Getting started with Rust

Introduction to the borrow checker

Introduction to the borrow checker

Introduction to the borrow checker

Introduction to the borrow checker

Generics and the trait system

Generics and the trait system

Generics and the trait system

Generics and the trait system

Error handling

Error handling

Error handling

Error handling

The macro system

The macro system

The macro system

The macro system

Syntactic macros

Syntactic macros

Syntactic macros

Syntactic macros

Procedural macros

Procedural macros

Procedural macros

Procedural macros

Functional features in Rust

Functional features in Rust

Functional features in Rust

Functional features in Rust

Higher-order functions

Higher-order functions

Higher-order functions

Higher-order functions

Iterators

Iterators

Iterators

Iterators

Concurrency primitives

Concurrency primitives

Concurrency primitives

Concurrency primitives

Testing

Testing

Testing

Testing

Summary

Summary

Summary

Summary

TCP and UDP Using Rust

TCP and UDP Using Rust

TCP and UDP Using Rust

TCP and UDP Using Rust

A Simple TCP server and client

A Simple TCP server and client

A Simple TCP server and client

A Simple TCP server and client

A Simple UDP server and client

A Simple UDP server and client

A Simple UDP server and client

A Simple UDP server and client

UDP multicasting

UDP multicasting

UDP multicasting

UDP multicasting

Miscellaneous utilities in std::net

Miscellaneous utilities in std::net

Miscellaneous utilities in std::net

Miscellaneous utilities in std::net

Some related crates

Some related crates

Some related crates

Some related crates

Summary

Summary

Summary

Summary

Data Serialization, Deserialization, and Parsing

Data Serialization, Deserialization, and Parsing

Data Serialization, Deserialization, and Parsing

Data Serialization, Deserialization, and Parsing

Serialization and deserialization using Serde

Serialization and deserialization using Serde

Serialization and deserialization using Serde

Serialization and deserialization using Serde

Custom serialization and deserialization

Custom serialization and deserialization

Custom serialization and deserialization

Custom serialization and deserialization

Parsing textual data

Parsing textual data

Parsing textual data

Parsing textual data

Parsing binary data

Parsing binary data

Parsing binary data

Parsing binary data

Summary

Summary

Summary

Summary

Application Layer Protocols

Application Layer Protocols

Application Layer Protocols

Application Layer Protocols

Introduction to RPC

Introduction to RPC

Introduction to RPC

Introduction to RPC

Introduction to SMTP

Introduction to SMTP

Introduction to SMTP

Introduction to SMTP

Introduction to FTP and TFTP

Introduction to FTP and TFTP

Introduction to FTP and TFTP

Introduction to FTP and TFTP

Summary

Summary

Summary

Summary

Talking HTTP in the Internet

Talking HTTP in the Internet

Talking HTTP in the Internet

Talking HTTP in the Internet

Introducing Hyper

Introducing Hyper

Introducing Hyper

Introducing Hyper

Introducing Rocket

Introducing Rocket

Introducing Rocket

Introducing Rocket

Introducing reqwest

Introducing reqwest

Introducing reqwest

Introducing reqwest

Summary

Summary

Summary

Summary

Asynchronous Network Programming Using Tokio

Asynchronous Network Programming Using Tokio

Asynchronous Network Programming Using Tokio

Asynchronous Network Programming Using Tokio

Looking into the Future

Looking into the Future

Looking into the Future

Looking into the Future

Working with streams and sinks

Working with streams and sinks

Working with streams and sinks

Working with streams and sinks

Heading to tokio

Heading to tokio

Heading to tokio

Heading to tokio

Socket multiplexing in tokio

Socket multiplexing in tokio

Socket multiplexing in tokio

Socket multiplexing in tokio

Writing streaming protocols

Writing streaming protocols

Writing streaming protocols

Writing streaming protocols

The larger tokio ecosystem

The larger tokio ecosystem

The larger tokio ecosystem

The larger tokio ecosystem

Conclusion

Conclusion

Conclusion

Conclusion

Security

Security

Security

Security

Securing the web

Securing the web

Securing the web

Securing the web

Letsencrypt using Rust

Letsencrypt using Rust

Letsencrypt using Rust

Letsencrypt using Rust

OpenSSL using Rust

OpenSSL using Rust

OpenSSL using Rust

OpenSSL using Rust

Securing tokio applications

Securing tokio applications

Securing tokio applications

Securing tokio applications

Cryptography using ring

Cryptography using ring

Cryptography using ring

Cryptography using ring

Summary

Summary

Summary

Summary

Appendix

Appendix

Appendix

Appendix

Introduction to coroutines and generators

Introduction to coroutines and generators

Introduction to coroutines and generators

Introduction to coroutines and generators

How May handles coroutines

How May handles coroutines

How May handles coroutines

How May handles coroutines

Awaiting the future

Awaiting the future

Awaiting the future

Awaiting the future

Data parallelism

Data parallelism

Data parallelism

Data parallelism

Parsing using Pest

Parsing using Pest

Parsing using Pest

Parsing using Pest

Miscellaneous utilities

Miscellaneous utilities

Miscellaneous utilities

Miscellaneous utilities

Summary

Summary

Summary

Summary

Other Books You May Enjoy

Other Books You May Enjoy

Other Books You May Enjoy

Other Books You May Enjoy

Leave a review - let other readers know what you think

Leave a review - let other readers know what you think

Leave a review - let other readers know what you think

Leave a review - let other readers know what you think

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部