随笔分类 - 网络编程
学习的实验笔记
摘要:
网络编程:网络抢答器程序的实现,
导语:
这是网络编程的最后一个实验了,也就意味着此门课程进入了尾声,之前的实验代码也都有,我希望自己写的这些代码能够帮助到后来人。
代码中的注释详细,可以让初次接触的人也能看懂,大部分代码都具有相同的格式,比如创建套接字、设置套接字相关属性、捆绑、监听等。
这些代码使用的是C++,改成C语言也较为方便。
我使用的Linux系统是国产的UOS,推荐一下,完全可以满足日常的使用,比Windows更加省电和流畅。
此次我使用了和之前的select函数不同的epoll函数来实现多路复用
阅读全文

摘要:
网络编程:Linux平台下聊天室程序的实现1. 学习第18章“多线程服务器端的实现”,掌握线程创建、线程同步的原理和实现方法。
2. 在Linux操作系统上编写基于多线程的聊天室程序。
二、实验内容
1、在Linux操作系统上编写多线程并发服务器端:
(1)参考第18章相应程序,实现基于多线程的聊天室程序。
(2)为每一个接入的客户端创建线程并适当运用线程同步技术,让多个客户端之间可以交换信息。
(3)启动服务器后创建两个以上客户端并建立连接,验证客户端发送的消息是否可以被所有客户端收到。
阅读全文

摘要:
网络编程:理解select函数并实现IO复用服务器端 一、实验目的1. 学习第12章I/O复用技术。理解select函数的功能并掌握其调用方法。2. 在Linux和Windows操作系统上编写并发服务器端。使用select函数监管多个套接字上的网络事件。 二、实验内容1、在Linux操作系统上编写程序,实现基于select函数的I/O复用服务器端:
(1)参考12.2节程序,实现I/O复用服务器端程序。
(2)客户端接收用户输入的字符串并发送到服务器端,一直到用户输入字符 ”Q”/”q” 为止(客户端可以使用以前实验中实现的客户端程序)。
(3)启动服务器后创建两个以上客户端并建立连接,验证服务器端可以同时为不同的客户端提供回声服务。
2、在Windows操作系统上编写程序,实现与上述功能相同的回声服务器端。(客户端可以使用以前实验中实现的客户端程序)。
阅读全文

摘要:
网络编程:实现多进程并发回声服务器端/客户端 1.直接跳转到Linux端代码 一、实验目的 学习进程的创建、销毁过程。掌握利用信号处理技术sigaction消灭僵尸进程的方法。 在Linux操作系统上编写并发服务器端/客户端。让服务器端以多进程方式为多个客户端同时提供回声服务。 二、实验内容 1、在
阅读全文

摘要:网络编程:socket通信有时出现代码功能实现成功,之后失败,过会儿又成功的情况解决
导语:在我学习网络编程,socket通信的时候,Linux端有时明明已经用代码实现了功能,并且运行成功,但是第二次运行时,代码就无法实现功能了,等上一段时间,代码又行了。我想了很久最终想起了自己从未关注过的端口问题(我在写代码时直接定义了端口,而非在命令行输入),于是我尝试每运行一次,就重新定义端口,很显然问题解决了。这回问题算是找到了——端口被占用了。什么?被占用了?难道关闭套接字后,进程没有自动退出?于是,我又开始了探索。
阅读全文
摘要:
网络编程:检验TCP套接字的传输效率 1.直接跳转到第1题的Linux端代码 2.直接跳转到第1题的Windows端代码 3.直接跳转到第2题的Linux端代码 4.直接跳转到第2题的Windows端代码 一、实验目的 熟悉TCP套接字程序的编写过程。 在Linux或者Windows操作系统上编写服
阅读全文

摘要:
网络编程:实现计算器程序的服务器端/客户端(包含+ - * / %) 1.直接跳转到Linux端代码 2.直接跳转到Windows端代码 一、实验目的 熟悉应用层协议的制定,并依据协议规则编写程序。 在Linux和Windows操作系统上编写计算器服务器端/客户端。让服务器端从客户端接收数字和运算符
阅读全文

摘要:
网络编程:实现迭代回声服务器端/客户端 1.直接跳转到Linux端代码 2.直接跳转到Windows端代码 一、实验目的 掌握TCP套接字工作原理。 在Linux和Windows操作系统上编写迭代服务器端/客户端。让服务器端以迭代方式运行,为多个客户端提供回声服务。 二、实验内容 1、在Linux操
阅读全文
