VC网络编程
文章平均质量分 86
UsherYue
进入研发行业10年,曾任职与多家创业公司,负责核心研发工作,团队建设管理工作。
展开
-
Automating MS-Office Applications
Office自动化操作 VC操作Office转载 2021-12-08 11:08:19 · 141 阅读 · 0 评论 -
golang TCP处理数据包粘包的代码,可直接使用
package mainimport ( "bytes" "encoding/binary" "fmt")const ( DEFAULE_HEADER = "[**********]" DEFAULT_HEADER_LENGTH = 12 DEFAULT_SAVE_DATA_LENGTH = 4)type Packet struct { Header string HeaderLength int32 SaveDataLeng.原创 2020-11-26 13:30:41 · 511 阅读 · 0 评论 -
golang中解决tcp传输中的粘包问题
golang中解决tcp传输中的粘包问题什么是粘包?最近在写https://github.com/UsherYue/ActivedRouter (一个http/https反向代理服务)的时候遇到了粘包问题, 如果有做过网络编程的小伙伴应该都知道粘包问题,举个例子: 比如客户端在和服 务器进行通信采用的是json格式的数据包。那么此时Client和Server的数据交互流程应该如下:原创 2017-05-18 22:57:31 · 20269 阅读 · 2 评论 -
关于字节序Big Endian和Little Endian
关于字节序 字节序指的是一个大于2个字节的类型的数据例如int 、long等在内存中的字节顺序。 字节序分为:网络字节序 (Big Endian) 比如 0x11223344 ,占四个字节,那么他的网络字节序在内存中就是 按照 44 33 22 11 排列,也就是Big Endian是低位存储在内存的低地址,高位存储在内存的高地址。主机字节序 (Littlr Endian) 比如 0原创 2017-05-17 22:21:42 · 1360 阅读 · 0 评论 -
UDP协议下数据的传输分析
最近在做项目的时候发现了一个严重问题,可能不光是我多人在使用 win32 socket 进行开发的时候也会遇到的问题。首先我分析的模块是 我项目中文件传输的部分,我做的是一个基于UDP协议的一个局域网通信软件,里面有一个文件传输的模块 ,起初的时候我也完成了文件传输的功能,以为这就可以了,其实我在做的时候忽略了很多细节部分,比如数据应该如何传输 ,一次最多发送多少数据 以及如何控制同步问题 。这些原创 2012-04-22 01:10:11 · 11052 阅读 · 2 评论 -
以关键代码段为例子详细讲解多线程中的同步技术
说线程就要说到进程每一个exe文件运行的时候 系统就会为这个进程分配虚拟空间 ,多个进程在逻辑上重复使用该空间 。 线程实际上是程序真正的功能实现者,一个进程包含多个线程 ,线程之间相互协作共同完成一项任务 。 每个进程中的多个线程可以共享进程中的数据 。 每个进程都有一个唯一称为主线程的线程 ,例如 mian()函数所在的线程就是主线程 。 有些CPU只支原创 2011-11-10 20:43:14 · 1888 阅读 · 0 评论 -
VC中TCP实现 异步套接字编程的原理+代码
所谓的异步套接字编程就是 调用了 如下函数 WSAAsyncSelect 设置了 套接字的状态为异步,有关函数我会在下面详细介绍。。。异步套接字解决了 套接字编程过程中的堵塞问题 ...... 什么是堵塞?请看下面 你可能有过这样的体会 在 VC编写基于界面的网路程序时候 ,调用 recv recvfrom accept 等函数的时候 整个程序的主线程进入堵原创 2011-11-08 21:36:53 · 9494 阅读 · 3 评论 -
VC面向对象的方式 写一个基于TCP的 客户端服务端程序 (SOCKET)
SOCKET accept( SOCKET s, struct sockaddr FAR*addr, int FAR*addrlen); //最后一个参数一定要赋值为 SOCKADDR结构体的长度 否则调用失败 这个MSDN的解释有 SOCKET是网络编程的接口 目前的C/S模式的开发都是基于 SOCKET 的 TCP服务器编写流程 : 创建socket原创 2011-11-08 15:12:43 · 6747 阅读 · 0 评论 -
匿名管道实现父子进程之间的通信....
/*匿名管道: 匿名管道可以实现父子进程的通信, 一个由另一个进程调用CreateProcess函数创建的进程称为子进程我们在利用CreatePipe创建你民管道的时候会获得管道的读写句柄 子进程可以继承这个句柄 在父进程通过 CreatePipe函数获得句柄可以对匿名管道进行读写操作 在子进程 通过GetStdHandle()通过不同的参数 可以获得标准 输入 输出 错误的原创 2011-11-15 18:47:05 · 6935 阅读 · 1 评论 -
利用命名管道实现进程之间的通信 .........
/* 命名管道不仅可以实现 本地进程之间的通信还可以实现网络进程的通信 与油槽不同的是 管道式基于面向连接的可靠的通信 只能一对一传输 数据 我们可以通过 CreateNamedPipe()创建一个管道 ,可以指定模式是双向 即客户端 和服务端都可以进行读写 管道 就跟基于 socket的TCP通信类似 在服务端调用ConnectNamedPipe()原创 2011-11-14 18:36:43 · 2900 阅读 · 0 评论 -
利用油槽实现进程之间的通信
// 油槽只能实现 一个进程写 一个进程读取 服务器读取 客户端写入 在服务器端只需 创建油槽然后即可通过 ReadFile和 WriteFile就可以实现向油槽的读写功能// 在客户端需要利用CreateFile来打开一个油槽 然后通过CreateFile和ReadFile进行油槽的读写操作 // 油槽不仅能实现在本地进程之间的通信还可以实现网络进程之间的通原创 2011-11-14 16:53:00 · 3432 阅读 · 0 评论