
网络编程
明卿
黑夜给了我一双明亮的眼睛,我却用它去寻找光明!
展开
-
VS2017+CnComm串口通讯
CnComm开发库是一位国产的大牛做的,封装得很不错,使用很简单。大牛的博客地址:点击打开链接 最新的库:点击打开链接 其实也没啥必要说怎么开发,因为里面有个很好的demo,其实就是完完全全是一个串口助手的源代码,但是是用VC6.0开发的,如果你用VS2010编译,你也可以编译出来,但是如果用VS2017编译,就一大堆错误了。这篇文章主要以最简单的方式去说一下怎么用,一般来转载 2017-11-03 14:58:46 · 11158 阅读 · 3 评论 -
Windows socket-五种I/O模型
Winsock 的I/O操作:1、 两种I/O模式 阻塞模式:执行I/O操作完成前会一直进行等待,不会将控制权交给程序。套接字 默认为阻塞模式。可以通过多线程技术进行处理。 非阻塞模式:执行I/O操作时,Winsock函数会返回并交出控制权。这种模式使用 起来比较复杂,因为函数在没有运行完成就进行返回,会不断地返回 WSAEWOULDBLOCK错误。但功能强大。为了解决这个问题,提出了进行...转载 2015-12-24 16:10:13 · 834 阅读 · 0 评论 -
利用 ACE 来实现 UDP 通讯
TCP和UDP的"保护消息边界" 机制在socket网络程序中,TCP和UDP分别是面向连接和非面向连接的。因此TCP的socket编程,收发两端(客户端和服务器端)都要有一一成对的socket,因此,发送端为了将多个发往接收端的包,更有效的发到对方,使用了优化方法(Nagle算法),将多次间隔较小且数据量小的数据,合并成一个大的数据块,然后进行封包。这样,接收端,就难于分辨出来了,必转载 2016-05-25 22:06:22 · 693 阅读 · 0 评论 -
ACE网络库的UDP通信(数据报)的使用
使用ACE的数据报 ACE_SOCK_Dgram和ACE_LSOCK_Dgram是ACE中的数据报包装类。这些包装包含了发送和接收数据报的方法,并包装了非面向连接的UDP协议和UNIX域socket协议。与流包装不同,这些包装封装的是非面向连接的协议。这也就意味着不存在用于“设置”连接的接受器和连接器。相反,在这种情况下,通信通过一系列的发送和接收来完成。每个send()都要指定原创 2016-05-25 21:27:31 · 2132 阅读 · 0 评论 -
一个简单的Windows Socket可复用框架
说起网络编程,无非是建立连接,发送数据,接收数据,关闭连接。曾经学习网络编程的时候用Java写了一些小的聊天程序,Java对网络接口函数的封装还是很简单实用的,但是在Windows下网络编程使用的Socket就显得稍微有点繁琐。这里介绍一个自己封装的一个简单的基于Windows Socket的一个框架代码,主要目的是为了方便使用Windows Socket进行编程时的代码复用,闲话少说,上代码转载 2016-05-25 14:32:34 · 2469 阅读 · 0 评论 -
Windows下C语言的Socket编程例子(TCP和UDP)
这是一个简单的Socket程序例子,开发环境是vc6:首先是TCPserver端:[cpp] view plain copy#include "stdafx.h" #include #include #pragma comment(lib,"ws2_32.lib") int main转载 2016-05-25 11:23:58 · 947 阅读 · 0 评论 -
Windows Socket 编程_ 简单的服务器/客户端程序
一。程序运行效果图二。程序源代码三。程序设计相关基础知识 1.计算机网络 2.IP地址 3.协议 4.网络体系结构 5.TCP/IP体系结构与特点 6.客户机/服务器模式 7.TCP/IP特点 8.套接字的引入 9.面向 连接/无连接 的套接字的系统调用时序图/流程图 一。转载 2015-12-25 14:32:37 · 730 阅读 · 0 评论 -
幽默讲解Windows支持的五种Socket I/O模型
幽默 讲解Windows支持的五种Socket I/O模型本文简单介绍了当前Windows支持的各种Socket I/O模型,如果你发现其中存在什么错误请务必赐教。 一:select模型 二:WSAAsyncSelect模型 三:WSAEventSelect模型 四:Overlapped I/O 事件通知模型 五:Overlapped I/O 完成例程模型 六:IOCP模型 老陈...转载 2015-12-28 11:12:26 · 601 阅读 · 0 评论 -
SOCK_STREAM与SOCK_DGRAM套接口类型
SOCK_STREAM套接口(流套接口)的性质1、不保留任何消息的边界 举一个例子:本地主机通过两次独立的write(2)调用向远程主机发送数据,第一次本地进程写入25字节的数据,并通过套接口发送到远程进程,第二次再写入30字节的数据发往远程进程,总共55字节的数据,而远程进程从套接口接收数据时,将消息作为一个完整的单元来接收,或是通过若干次独立的读操作来将数据取走,即接转载 2015-12-28 16:42:05 · 24921 阅读 · 0 评论 -
socket select模型详细介绍
由于socket recv()方法是堵塞式的,当多个客户端连接服务器时,其中一个socket的recv调用时,会产生堵塞,使其他连接不能继续。如果想改变这种一直等下去的焦急状态,可以多线程来实现(不再等待,同时去recv,同时阻塞,呵呵),每个socket连接使用一个线程,这样效率十分低下,根本不可能应对负荷较大的情况(是啊,占用各种资源,电脑啊,你耗不起)。这时候我们便可以采取selec...转载 2015-12-29 16:43:30 · 806 阅读 · 0 评论 -
socket select 服务端、客户端模型(详细注释版本)
select模式客户端:#include <WINSOCK2.H>#include <stdio.h>#define SERVER_ADDRESS "137.117.2.148"#define PORT 5150#define MSGSIZE 1024#pragma comment(lib, "ws2_32.lib") ...原创 2015-12-29 16:56:05 · 2321 阅读 · 1 评论 -
完成端口(CompletionPort)详解 - 手把手教你玩转网络编程系列之三
手把手叫你玩转网络编程系列之三 完成端口(Completion Port)详解 ----- By PiggyXP(小猪)前 言 本系列里完成端口的代码在两年前就已经写好了,但是由于许久没有写东西了,不知该如何提笔,转载 2015-12-30 14:33:51 · 1899 阅读 · 1 评论 -
CSerialPort跨平台串口类库2018-11-20
如需转载请标明出处:http://blog.youkuaiyun.com/itas109 QQ技术交流群:129518033前言CSerialPort是一份优秀的串口类文件,好多的地方值得我们学习,具体在多线程,事件,自定义消息,类的封装方面等等。 Remon提供的串口类网址为: https://www.codeguru.com/cpp/i-n/network/serialcommunication...转载 2017-11-03 23:22:10 · 1523 阅读 · 0 评论