socket
隨兴
在校研究生,努力奋斗中
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
网络程序设计——2.利用TCP/UDP完成文件传输的设计和实现(上)
运行环境VMware搭载的Linux虚拟机Linux版本:Ubantu14.04LTS 一、实验目的1.利用循环面向连接的模型完成固定文件的传输(考虑服务器地址、端口号的设定方式)2.由固定文件扩展成手动输入或选择文件;3.参考connectTCP、connectUDP的方式对程序进行抽象、封装;(见下篇)二、实验内容TCP编程1.tcp_server.c...原创 2018-10-26 11:35:40 · 2589 阅读 · 4 评论 -
网络程序设计——(connectTCP和connectUDP的实现)2.利用TCP/UDP完成文件传输的设计和实现(下)
每个客户与服务器建立联系必须:选择协议(UDP或TCP) 查找服务器的机器名 查找所期望的服务并将其映射到协议端口号 分配套接字并与之连接 将这部分工作进行封装,置于某个过程当中,只需一次编码。我们想要实现以下抽象:socket = connectTCP(machine, service); socket = connectUDP(machine, service);优点:高级...原创 2018-10-26 13:08:50 · 927 阅读 · 0 评论 -
网络程序设计——1.TCP、UDP网络编程
运行环境:VMware搭载的Linux虚拟机Linux版本:Ubantu14.04LTS 一、原理1、TCP/IP协议存在于OS中,网络服务通过OS提供。2、应用程序要和操作系统交互,才能使用TCP/IP提供的网络通信功能。3、交互的接口:即应用程序接口(API)。4、从网络的观点看:TCP/IP和应用程序之间的接口。二、流程以TCP为例:三、代码及...原创 2018-10-24 22:05:03 · 582 阅读 · 0 评论 -
网络程序设计——3.TCP/UDP实现跨平台文件传输
一、实验目的 在上次文件传输的程序基础上,利用循环面向连接、循环无连接方式完成linux和windows平台的文件传输,并完成客户端、服务器端代码的封装。二、实验分析 1.使用TCP实现 在上次实验基础上,使用tcp_server.c的代码,只需修改为循环方式即可,然后作为Linux服务器使用 编写Windows下的客户端程序,进行文件发送 2.使用...原创 2018-11-03 22:39:32 · 1794 阅读 · 5 评论 -
网络程序设计——4.利用多进程和多线程实现服务器端的并发处理
一、实验要求 在TCP文件传输代码的基础上,利用单线程进程并发模型和多线程并发模型实现服务器端的并发处理。二、实验分析 多线程与多进程相比,使用多线程相比多进程有以下两个优点:更高的效率和共享存储器,效率的提高源于上下文切换次数的减少。 但是采用多线程的方式也有缺点:一个线程的动作可能会对同一个进程内的其他线程产生影响、并且多线程缺乏健壮性。 具体...原创 2018-11-12 16:46:47 · 985 阅读 · 0 评论 -
网络程序设计——5.I/O复用完成单线程并发服务器的处理
一、实验要求 在前期ECHO代码的基础上,利用I/O复用完成单线程并发服务器的实现。二、实验分析 使用select实现单线程ECHO服务器:在熟知端口上打开一个被动套接字 使用系统函数getdtablesize来决定描述符最大个数 使用FD_ZERO和FD_SET创建一个比特向量,对应于希望测试的套接字描述符 select等待一个或者多个描述符就绪 FD_ISSE...原创 2018-11-19 17:29:34 · 440 阅读 · 0 评论 -
网络程序设计——6.支持多协议多服务的服务器设计和实现
一、实验要求熟练掌握多协议多服务服务器的设计和实现方法。二、实验步骤1.super.cint main(int argc, char *argv[]){ struct service *psv, *fd2sv[NOFILE]; int fd, nfds; fd_set afds, rfds; switch(arg...原创 2018-11-26 15:11:34 · 1047 阅读 · 2 评论
分享