Birla Institute of Technology & Science, Pilani
Network Programming and Client-Server Programming
Birla Institute of Technology & Science, Pilani

Network Programming and Client-Server Programming

包含在 Coursera Plus

深入了解一个主题并学习基础知识。
初级 等级

推荐体验

2 月 完成
在 10 小时 一周
灵活的计划
自行安排学习进度
深入了解一个主题并学习基础知识。
初级 等级

推荐体验

2 月 完成
在 10 小时 一周
灵活的计划
自行安排学习进度

您将学到什么

  • Write advanced C programs for OS and network-level tasks, including inter-process communication, threading, and synchronisation techniques.

  • Develop high-performance servers and distributed applications using client-server models, remote procedure calls, and socket programming.

  • Ensure efficient communication between hosts, processes, and threads while applying concurrency, synchronisation, and programming principles.

要了解的详细信息

可分享的证书

添加到您的领英档案

最近已更新!

November 2025

授课语言:英语(English)

了解顶级公司的员工如何掌握热门技能

Petrobras, TATA, Danone, Capgemini, P&G 和 L'Oreal 的徽标

该课程共有10个模块

In this module, you will learn the basics of computer networks and their architecture, the founding principle of the Internet and its architecture, addressing schemes at the data link layer (i.e, MAC address), network layer (i.e., IPv4 address), and transport layer (i.e., port numbers), and finally, you will have your first program that has the ability to communicate over a network.

涵盖的内容

11个视频5篇阅读材料10个作业1个非评分实验室

In this module, you will learn the concept of process and its representations, requirements and mechanisms of interprocess communications, the use of signal, pipe, message queue, shared memory for interprocess communication, the concept of synchronisation, and the use of semaphores for process synchronisation.

涵盖的内容

14个视频4篇阅读材料16个作业1个非评分实验室

In this module, your will learn BSD networking and hosts in the networks, testing connections between hosts and presence of hosts. You will also explore an advanced network simulation tool, named "mininet", for simulating networks. You will learn various networking APIs, APIs for clients and servers, IPv6 compatible APIs. Finally, TCP/IP big picture, basics of TCP, UDP, SCTP and IP, tracing and debugging simple programs and programs with system calls, sock and tcpdump will be covered.

涵盖的内容

12个视频5篇阅读材料14个作业

In this module, you will learn UDP sockets and their usage to develop Echo client-server program, TCP sockets and their usage to develop Echo client-server program, and SCTP sockets and their usage in client-server programs.

涵盖的内容

9个视频4篇阅读材料11个作业

In this module, you will learn the mechanism to measure server performance, simulating a large number of clients, measuring performance of a large variety of server design options, like TCP iterative server, concurrent server, server with preformed child processes without file locking, server with thread, servers with preformed child processes and file locking, servers with thread locking, develop HTTP client and server programs.

涵盖的内容

12个视频4篇阅读材料14个作业

In this module, you will learn the basics of Telnet and its command structure, Telnet client and server programs, basics of FTP and its process model, FTP client and server programs, advantage of concurrency in server programs, and example implementations of a simple iterative and concurrent web search engines.

涵盖的内容

11个视频4篇阅读材料13个作业

In this module, you will learn about the types of socket operation, types of I/O models, blocking and non-blocking I/O models, signal-driven and asynchronous I/O models. Finally, you will revisit str_cli() Function and then go on to develop a better str_cli() function.

涵盖的内容

10个视频4篇阅读材料12个作业

In this module, you will learn the basics of remote procedure call, concept of door and use it for remote procedure call within a host, understand the function definitions and data structures used in door, get introduced to Sun RPC and use it to build up client-server applications.

涵盖的内容

11个视频4篇阅读材料13个作业

In this module, you will explore the process of building distributed applications through the use of remote procedure calls (RPC). You will gain a deep understanding of how RPC allows communication between different systems over a network by invoking functions or procedures on remote servers as if they were local. The module will also cover how to represent and transmit data across networks in a way that is independent of any specific programming language, ensuring compatibility between different systems. Additionally, you will learn to work with popular RPC frameworks, gaining hands-on experience in implementing, managing, and optimising these frameworks for effective communication in distributed environments.

涵盖的内容

14个视频4篇阅读材料16个作业

In this module, you will explore the core challenges faced when designing distributed systems, focusing on the complexities that arise from ensuring communication, consistency, fault tolerance, and scalability across multiple interconnected systems. You will delve into the various design approaches and architectural patterns used to address these challenges, such as client-server models, peer-to-peer networks, and hybrid architectures. Through these discussions, you will gain an understanding of the trade-offs involved in making design decisions, such as balancing performance with fault tolerance, or consistency with availability, which are critical in creating reliable and efficient distributed systems. The module will also cover distributed file systems, specifically the Network File System (NFS) and the Andrew File System (AFS). You will learn how NFS enables remote file access over a network, providing a seamless experience similar to local file access, and how AFS uses a more sophisticated approach with caching and replication mechanisms to improve performance and fault tolerance. By the end of the module, you will have a deeper appreciation for the complexities of distributed system design and the strategies employed to manage the inherent trade-offs in real-world applications.

涵盖的内容

14个视频4篇阅读材料16个作业

位教师

BITS Pilani Instructors Group
Birla Institute of Technology & Science, Pilani
30 门课程46,328 名学生

提供方

从 Computer Security and Networks 浏览更多内容

人们为什么选择 Coursera 来帮助自己实现职业发展

Felipe M.
自 2018开始学习的学生
''能够按照自己的速度和节奏学习课程是一次很棒的经历。只要符合自己的时间表和心情,我就可以学习。'
Jennifer J.
自 2020开始学习的学生
''我直接将从课程中学到的概念和技能应用到一个令人兴奋的新工作项目中。'
Larry W.
自 2021开始学习的学生
''如果我的大学不提供我需要的主题课程,Coursera 便是最好的去处之一。'
Chaitanya A.
''学习不仅仅是在工作中做的更好:它远不止于此。Coursera 让我无限制地学习。'
Coursera Plus

通过 Coursera Plus 开启新生涯

无限制访问 10,000+ 世界一流的课程、实践项目和就业就绪证书课程 - 所有这些都包含在您的订阅中

通过在线学位推动您的职业生涯

获取世界一流大学的学位 - 100% 在线

加入超过 3400 家选择 Coursera for Business 的全球公司

提升员工的技能,使其在数字经济中脱颖而出

常见问题

¹ 本课程的部分作业采用 AI 评分。对于这些作业,将根据 Coursera 隐私声明使用您的数据。