摘要: 使用win32 api编写串口程序的主要步骤1.打开串口{ hCom = CreateFile(); SetupComm(); DCB dcb; SetCommState();}2.读取数据ReadFile();3.写入数据WriteFile(); 阅读全文
posted @ 2012-10-19 10:34 恒月美剑 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 实现原理:for(port=LOW;port<=HIGH;port++){ CSocket socket; socket.create(); if(socket.connect(ip,port)) SUCCESS; else { ERROR; }}实现过程中将ip地址转换为一个整数便于扫描整个ip地址范围; 阅读全文
posted @ 2012-10-17 07:25 恒月美剑 阅读(141) 评论(0) 推荐(0) 编辑
摘要: ManualResetEvent mre = new ManualResetEvent(false);AutoResetEvent are = new AutoResetEvent(false);mre.WaitOne() //当有信号时只能运行一个线程are.WaitOne() //有信号时可以同... 阅读全文
posted @ 2012-10-11 20:55 恒月美剑 阅读(189) 评论(0) 推荐(0) 编辑
摘要: //事件对象也属于内核对象,包含一个使用计数,//一个用于指明该事件是一个自动重置的事件还是一个人工重置的事件的布尔值,//另一个用于指明该事件处于已通知状态还是未通知状态的布尔值。//有两种不同类型的事件对象。一种是人工重置的事件,另一种是自动重置的事件。//当人工重置的事件得到通知时,等待该事件的所有线程均变为可调度线程。//当一个自动重置的事件得到通知时,等待该事件的线程中只有一个线程变为可调度线程。#include <Windows.h>#include <iostream>using namespace std;DWORD WINAPI Fun1Proc( L 阅读全文
posted @ 2012-10-08 15:55 恒月美剑 阅读(329) 评论(0) 推荐(0) 编辑
摘要: #include <WinSock2.h>#pragma comment(lib, "WS2_32")WSADATA WSAData; int WSAReturn ; char name[20]; struct hostent *pSysinfo; char ipAddr[20]; WSAReturn = WSAStartup(MAKEWORD(2,2),&WSAData); if(WSAReturn == 0) { gethostname(name,20); //获取本地主机名 m_strHostName = na... 阅读全文
posted @ 2012-10-08 14:40 恒月美剑 阅读(254) 评论(1) 推荐(0) 编辑
摘要: 一:select模型二:WSAAsyncSelect模型三:WSAEventSelect模型四:Overlapped I/O 事件通知模型五:Overlapped I/O 完成例程模型六:完成端口IOCP模型老陈有一个在外地工作的女儿,不能经常回来,老陈和她通过信件联系。他们的信会被邮递员投递到他们的信箱里。这和Socket模型非常类似。下面我就以老陈接收信件为例讲解Socket I/O模型~~~一:select模型老陈非常想看到女儿的信。以至于他每隔10分钟就下楼检查信箱,看是否有女儿的信~~~~~在这种情况下,"下楼检查信箱"然后回到楼上耽误了老陈太多的时间,以至于老陈 阅读全文
posted @ 2012-10-06 15:33 恒月美剑 阅读(229) 评论(0) 推荐(0) 编辑
摘要: #include <cstdlib> #include <iostream> #include <fstream> #include <string> #include <iomanip> using namespace std; /* * */ inline void eatline() {while(cin.get() != '\n') continue;} struct planet{ char name[20]; double population; double g; }; const char *file 阅读全文
posted @ 2012-03-24 23:26 恒月美剑 阅读(165) 评论(0) 推荐(0) 编辑
摘要: #include <iostream> #include <string> #include <vector> struct Review{ std::string title; int rating; }; bool FillReview(Review &rr) { std::cout<<"Enter book title (quit to quit): "; std::getline(std::cin,rr.title); if(rr.title == "quit") return false; 阅读全文
posted @ 2012-03-18 09:03 恒月美剑 阅读(307) 评论(0) 推荐(0) 编辑