随笔分类 -  网络编程

摘要:接上篇:http://www.cnblogs.com/jzincnblogs/p/5217688.html,这篇主要记录编程过程中需要注意的地方以及遇到的一些问题及解决方法。 一、gethostbyname(),inet_ntoa()等函数已经过时 使用上面两个函数时编译器会报错并提示函数已经是过时 阅读全文
posted @ 2016-02-29 15:53 jz_cnblogs 阅读(5935) 评论(2) 推荐(0)
摘要:接上篇http://www.cnblogs.com/jzincnblogs/p/5213978.html,这篇主要记录编程方面的重点。 客户端使用了Windows Socket提供的API,支持上传、下载、删除、查看文件,断点续传,二进制/ASCII模式切换,被动模式切换,记录操作日志等功能。 代码 阅读全文
posted @ 2016-02-25 17:08 jz_cnblogs 阅读(7520) 评论(1) 推荐(0)
摘要:之前使用c++实现了一个FTP客户端,在这里做一些记录。 一、需要注意的几点 ①FTP是一种文件传输协议,基于TCP,所以客户端与服务器建立的连接是可靠、安全的,并且要经过三次握手的过程。 ②FTP传输数据默认采用二进制模式,即将文件内容转换为二进制表示后再传送,而若HTML等文本文件传输时需要转换 阅读全文
posted @ 2016-02-24 18:57 jz_cnblogs 阅读(16664) 评论(1) 推荐(2)
摘要:前面已经使用邮槽实现过进程间通信:http://www.cnblogs.com/jzincnblogs/p/5192654.html ,这里使用命名管道实现进程间通信。 与邮槽不同的是,命名管道在进程间传输数据是基于连接且可靠的传输方式,所以命名管道传输数据只能一对一。使用命名管道的步骤如下: ①创 阅读全文
posted @ 2016-02-16 15:03 jz_cnblogs 阅读(10248) 评论(0) 推荐(0)
摘要:Windows API提供了邮槽和命名管道两种机制来实现进程间通信,在这里使用C++实现邮槽。 邮槽是Windows提供的一种进程间单向通信的机制,进程中的一方只能读取(或写入)数据,而另一方只能写入(或读取)数据。这种进程间的通信可以发生在本地或者网络之中。而在使用邮槽之前,服务器端必须先创建邮槽 阅读全文
posted @ 2016-02-16 14:33 jz_cnblogs 阅读(2772) 评论(0) 推荐(0)
摘要:之前用c++实现过基于windows socket的单线程TCP服务器(http://www.cnblogs.com/jzincnblogs/p/5170230.html),今天实现了一个多线程的版本,可以接受多个客户端的请求,原理与之前的单线程版本相似,只是在多线程版本中主线程用于监测客户端请求, 阅读全文
posted @ 2016-02-14 21:54 jz_cnblogs 阅读(18448) 评论(5) 推荐(0)
摘要:前天写了一个基于tcp协议的服务器客户端程序,今天写了一个基于UDP协议的,由于在上一篇使用TCP协议的服务器中注释已经较为详细,且许多api的调用是相同的,故不再另外注释。 使用UDP协议需要注意几点: ①UDP是面向无连接的,客户端在于服务器通信前无须建立连接,且UDP协议不保证发出的消息是否被 阅读全文
posted @ 2016-01-31 22:28 jz_cnblogs 阅读(1507) 评论(0) 推荐(0)
摘要:今天自己编写了一个简单的c++服务器客户端程序,注释较详细,在此做个笔记。 windows下socket编程的主要流程可概括如下:初始化ws2_32.dll动态库-->创建套接字-->绑定地址信息-->服务器进行监听/客户端连接服务器-->数据交换-->关闭套接字对象。 服务器端: 1 #inclu 阅读全文
posted @ 2016-01-29 22:30 jz_cnblogs 阅读(3898) 评论(2) 推荐(0)