实验一SOCKET基本编程
1、实验目的
1、掌握使用LINU_环境下GCC编译器的基本方法;
2、掌握SOCKET套接字的基本编程模板;
3、掌握套接字基本编程,掌握点分十进制和网络二进制IP地址之间的转换。
4、通过使用gethostbyname和gethostbyaddr来获取本地和远程用户的地址信息。
2、实验要求
1、认真阅读和掌握本实验相关的知识点。
2、上机编写运行本程序。
3、保存和打印出程序的运行结果,并结合程序进行分析。
3、注意事项:在LINU_系统上为每个用户创建一个目录,专门用于编译和运行实验程序。实验二服务器与单客户的连接处理
1、实验目的1掌握单用户客户端跟服务器的连接和数据交互及处理。
2、实验要求1认真阅读和掌握本实验的相关知识点。2上机编写并运行本程序。3保存和打印出程序的运行结果,并结合程序进行分析。
3、实验内容客户端:1从命令行读入服务器的IP地址;并连接到服务器;2循环从命令行读入一行字符串,并传递给服务器,由服务器对字符串反转,并将结果返回客户程序;3客户程序显示反转后的字符串;服务器端:4接收客户的连接请求,并显示客户的IP地址和端口号;5接收客户传来的字符串,反转后传递给客户;实验三多进程服务器设计
1、实验目的1掌握多进程服务器的知识。2掌握多进程程序的编写方法。
2、实验要求1认真阅读和掌握本实验的相关知识点。2上机编写并运行程序。3保存和打印出程序的运行结果,并结合程序进行分析。
3、实验内容
1、服务器等待客户连接,连接成功后向客户发送欢迎信息,接着接收该客户的名字并显示,然后接收来自客户的信息(字符串),将该字符串反转,并将结果送回客户。要求服务器具有同时处理多个客户的能力。
2、客户首先与服务器连接,接着接收用户输入客户的名字,将该名字发送给服务器,然后接收用户输入的字符串,并发送给服务器,然后接收服务器返回的经处理后的字符串,并显示之。当用户输入Ctrl+D,终止连接并退出。实验四多线程服务器设计1实验目的1掌握多线程服务器知识2掌握有关多线程程序的编写方法;2实验要求1认真阅读和掌握本实验的相关的知识点。2上机编写并运行本程序。3保存和打印出程序的运行结果,并结合程序进行分析。3实验内容
1、服务器等待客户连接,连接成功后向客户发送欢迎信息,接着接收该客户的名字并显示,然后接收来自客户的信息(字符串),将该字符串反转,并将结果送回客户。要求服务器具有同时处理多个客户的能力。
2、客户首先与服务器连接,接着接收用户输入客户的名字,将该名字发送给服务器,然后接收用户输入的字符串,并发送给服务器,然后接收服务器返回的经处理后的字符串,并显示之。当用户输入Ctrl+D,终止连接并退出。实验五线程专用数据TSD实现1实验目的1掌握多线程服务器知识;2掌握有关线程专用数据TSD程序的编写方法;2实验要求3认真阅读和掌握本实验的相关的知识点。4上机编写并运行本程序。5保存和打印出程序的运行结果,并结合程序进行分析。3实验内容
1、服务器等待客户连接,连接成功后显示客户地址,接着接收该客户的名字并显示,然后接收来自客户的信息(字符串),将该字符串反转,并将结果送回客户。要求服务器具有同时处理多个客户的能力。在每个用户退出时要显示该用户输入的所有信息
2、客户首先与服务器连接,接着接收用户输入客户的名字,将该名字发送给服务器,然后接收用户输入的字符串,并发送给服务器,然后接收服务器返回的经处理后的字符串,并显示之。当用户输入Ctrl+D,终止连接并退出。实验六实现NTP网络授时客户端1实验目的1利用UDP协议实现NTP网络授时服务器;2使用select在NTP客户端中实用;2实验要求1认真阅读和掌握本实验的相关的知识点。2上机编写并运行本程序。3保存和打印出程序的运行结果,并结合程序进行分析。3实验内容
1、阅读NTP协议,使用UDP连接NTP服务器,构建NTP协议包,向服务器发送客户数据,发送成功后显示发送数量,接收服务端的返回信息,要求客户端具有多用的能力。只在数据接受完毕后读取数据。
2、根据NTP协议解析服务器返回的信息,从中获得服务器的准确时间,然后更新本地系统时间。6