VC IOCP 为什么只支持几百个连接 [问题点数:100分,结帖人wxliangzyt]

Bbs2
本版专家分:161
结帖率 98.51%
Bbs7
本版专家分:13967
Bbs7
本版专家分:29442
版主
Blank
优秀版主 2014年11月论坛优秀版主
Blank
黄花 2013年12月 VC/MFC大版内专家分月排行榜第二
Blank
蓝花 2014年2月 VC/MFC大版内专家分月排行榜第三
2013年11月 VC/MFC大版内专家分月排行榜第三
Bbs2
本版专家分:161
Bbs2
本版专家分:161
Bbs2
本版专家分:161
Bbs5
本版专家分:2769
Bbs2
本版专家分:161
Bbs2
本版专家分:161
Bbs4
本版专家分:1720
Bbs1
本版专家分:59
Bbs2
本版专家分:161
Bbs5
本版专家分:2769
Bbs2
本版专家分:161
Bbs2
本版专家分:161
Bbs1
本版专家分:59
Bbs9
本版专家分:87755
Blank
微软MVP 2013年7月 荣获微软MVP称号
2012年7月 荣获微软MVP称号
2011年7月 荣获微软MVP称号
Blank
红花 2013年9月 VC/MFC大版内专家分月排行榜第一
2013年8月 VC/MFC大版内专家分月排行榜第一
Blank
黄花 2012年2月 VC/MFC大版内专家分月排行榜第二
2011年3月 VC/MFC大版内专家分月排行榜第二
2011年2月 VC/MFC大版内专家分月排行榜第二
Blank
蓝花 2014年8月 VC/MFC大版内专家分月排行榜第三
2014年7月 VC/MFC大版内专家分月排行榜第三
Bbs9
本版专家分:87755
Blank
微软MVP 2013年7月 荣获微软MVP称号
2012年7月 荣获微软MVP称号
2011年7月 荣获微软MVP称号
Blank
红花 2013年9月 VC/MFC大版内专家分月排行榜第一
2013年8月 VC/MFC大版内专家分月排行榜第一
Blank
黄花 2012年2月 VC/MFC大版内专家分月排行榜第二
2011年3月 VC/MFC大版内专家分月排行榜第二
2011年2月 VC/MFC大版内专家分月排行榜第二
Blank
蓝花 2014年8月 VC/MFC大版内专家分月排行榜第三
2014年7月 VC/MFC大版内专家分月排行榜第三
IOCP中AcceptEx只连接不发送数据问题?
说明:如果AcceptEx的第4个参数设置为0,则客户端<em>连接</em>后GetQueuedCompletionStatus立即收到<em>连接</em>消息;若第4个参数不为0,则必须等待客户端<em>连接</em>并且客户端发送过一次数据后GetQueuedCompletionStatus才能得到响应。rnrn问题:若AcceptEx的第4个参数不为0,并且有人编写客户端只<em>连接</em>不发送任何数据,并且是恶意无限循环<em>连接</em>,这样服务器无法检测到有人恶意<em>连接</em>,是否会耗尽服务器资源?
WebRTC--添加IOCP网络模型支持
一、起因webRTC在windows平台默认使用的是WSAAsyncSelect模型,该模型需要有一个windows窗口的<em>支持</em>,而且伸缩性、性能都比较低。 关于WSAAsyncSelect模型的介绍可以参考Windows套接字I/O模型(3) – WSAAsyncSelect模型 因为webRTC是点对点的数据传输,对每一个端的性能要求并不高,采用WSAAsyncSelect模型完全是足够的。但
支持海量连接的IOCP组件+实例
还在为设计<em>支持</em>海量<em>连接</em>的socket服务端程序而烦恼吗?这是可以直接用于项目的IOCP完成端口组件哦
IOCP 可以借鉴的模型 vc
IOCP 可以借鉴的模型 <em>vc</em> IOCP 可以借鉴的模型 <em>vc</em>
为什么我的linux只支持ext2?
redhat-7.1rn所有安装均按照default形式,制作启动盘时失败,后用安装软盘vmlinuz root=/dev/hda9正常进入,但此后msdos等其他文件系统都不<em>支持</em>,rn重装n次如故,请教大虾!!!!!!rnrnrn
为什么记录集只支持向前移动
也就是 movenext()可以使用,而movefirst 和movelast不可以用?rn谢谢
JQUERY加载项,为什么支持IE?
[url=http://demos.flesler.com/jquery/scrollShow/]http://demos.flesler.com/jquery/scrollShow/[/url]rn我想把这个JQEURY插件多复制几个,放在同一个页面上。rn[code=JScript]rn jQuery(function( $ )rn $.easing.backout = function(x, t, b, c, d)rn var s=1.70158;rn return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;rn ;rn rn $('[color=#FF0000].[/color]screen').scrollShow(rn view:'#view',rn content:'#images',rn easing:'backout',rn wrappers:'link,crop',rn navigators:'a[id]',rn navigationMode:'sr',rn circular:true,rn start:0rn );rn );rn[/code]rn源代码用的是ID #screen,我把它改成CLASS .screen,在IE下测试全部都可以运行,但是FIREFOX和OPERA只有第一个有效,下面复制的几个全都失效。求修改正解。
32位操作系统为什么支持3.25G的内存?
这个数字是怎么来的?如何计算?绝对不是硬件原因,x86架构的芯片地址总线是36根。
我装的IIS为什么支持asp
我装的IIS<em>为什么</em>只<em>支持</em>asprn如果要运行php和CGI之类的程序,还要装什么软件啊?rn万分感谢!!!rnrnrn尤其是cgi程序,该装什么软件?rn给我点意见啊!rn谢谢!!!
为什么我的CSS只支持firefox和ie8
[code=CSS][/code]rn/*表样式*/rn.tablernrn background-color:#96D2F5;rn float:inherit;rn width:600pt;rn border:double 2px black;rn rnrn/*表头样式*/rn.tr1rnrn padding-top:22px;rn border-bottom-color:black;rn border-bottom-style:solid;rn border-bottom-width:2px;rn rnrn/*文本框样式*/rn.input[type="text"]rnrn background-color:#96D2F5;rn border:solid 1px;rn border-left-style:none;rn border-right-style:none;rn border-top-style:none;rn border-bottom-style:none;rn text-align:justify;rnrn.input[type="text"]:hoverrnrn border-bottom-style:solid;rn border-bottom-color:Red;rnrnrn/*第一行单元格样式*/rn.td1rnrn width:200pt;rn height:50pt;rn border:solid 1px black;rn border-left-style:none;rn border-right-style:none;rn border-top-style:none;rn vertical-align:bottom;rnrn/*只有下划线的单元格样式*/rn.td2rnrn width:200pt;rn height:30pt;rn border:solid 1px black;rn border-left-style:none;rn border-right-style:none;rn border-top-style:none;rn vertical-align:middle;rnrn/*只有左右下划线的单元格样式*/rn.td3rnrn width:200pt;rn height:30pt;rn border:solid 1px black;rn border-top-style:none;rn border-right-style:none;rn vertical-align:middle;rnrn.selectrnrn width:85px;rn background-color:#96D2F5;rnrninput[type="button"]rnrn width:80px;rn height:30px;rn border:solid 2px orange;rn font-size:20px;rn font-weight:bolder;rn background-color:ButtonHighlight;rnrn.bhrnrn vertical-align:text-bottom;rnrnH1rnrn text-align:center;rnrn rn
为什么32位cpu只支持4G内存?
理解基本概念 首先内存是cpu处理数据的临时存储站,cpu每次解析的数据(指令)都是内存传来的,数据流向:硬盘-&gt;内存-&gt;L3-&gt;L2-&gt;L1-&gt;L0(用作计算的CPU内核),L1-L3是一般操作系统都<em>支持</em>的多级缓存,目的是解决CPU和内存的速度不匹配问题。 在微机的内存中,每个基本单位都被赋予一个惟一的序号,这个序号称为地址,而内存的基本单位是Byte(这一点对后面...
IOCP收发/连接/接受连接全异步处理
只是一个示例,无实用价值rn[code=C/C++]rn#include rn#include rn#include rnrn#pragma comment(lib,"ws2_32.lib")rnrnusing namespace std;rnrnvoid StartServer();rnvoid StartClient();rnrnint main(int argc, char** argv)rnrn WSAData wsaData;rn WSAStartup(MAKEWORD(1, 1), &wsaData);rnrn if (argc > 1)rn StartServer();rn elsern StartClient();rn rn cin.get();rn return 0;rnrnrn//////////////////////////////////////////////////////////////////////////rn// serverrnrn#define SEND 0rn#define RECV 1rn#define ACCEPT 2rn#define CONNECT 3rnrn#define DATA_LENGTH 1024rnrntypedef struct _PER_HANDLE_DATArnrn SOCKET socket;rn SOCKADDR_STORAGE clientAddr;rnPER_HANDLE_DATA,*LPPER_HANDLE_DATA;rnrntypedef structrn OVERLAPPED overlapped;rn WSABUF buffer;rn char dataBuffer[DATA_LENGTH];rn int dataLength;rn int operatorType;rn SOCKET client;rnPER_IO_DATA,*LPPER_IO_DATA;rnrnLPFN_ACCEPTEX lpfnAcceptEx = NULL;rnunsigned WINAPI ServerThread(LPVOID lpParam);rnrnvoid StartServer()rnrn HANDLE CompletionPort;rn SOCKADDR_IN addr;rnrn CompletionPort = CreateIoCompletionPort(INVALID_HANDLE_VALUE, NULL, 0, 0);rnrn SOCKET Listen = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);rn LPPER_HANDLE_DATA perDandleData;rn perDandleData = (LPPER_HANDLE_DATA)GlobalAlloc(GPTR, sizeof(PER_HANDLE_DATA));rn perDandleData->socket = Listen;rn CreateIoCompletionPort((HANDLE)Listen, CompletionPort, (ULONG_PTR)perDandleData, 0);rnrn addr.sin_family = AF_INET;rn addr.sin_addr.s_addr = htonl(INADDR_ANY);rn addr.sin_port = htons(1234);rnrn bind(Listen, (PSOCKADDR)&addr, sizeof(addr));rn listen(Listen,5);rnrn GUID guidAcceptEx = WSAID_ACCEPTEX;rn DWORD dwBytes = 0;rn if (!WSAIoctl(Listen, SIO_GET_EXTENSION_FUNCTION_POINTER,rn &guidAcceptEx, sizeof(guidAcceptEx), &lpfnAcceptEx, sizeof(lpfnAcceptEx),rn &dwBytes, NULL, NULL) == 0)rn rn coutclient = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);rnrn coutoverlapped));rn if (bRet == FALSE)rn rn if (WSAGetLastError() != ERROR_IO_PENDING)rn coutsocket);rn GlobalFree(perHandleData);rn GlobalFree(perIoData);rn coutoperatorType = ACCEPT;rn newPerIoData->client = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);rn DWORD flags = 0;rnrn DWORD dwBytes = 0;rn coutdataBuffer, 0,rn sizeof(SOCKADDR_IN)+16, sizeof(SOCKADDR_IN)+16, &dwBytes,rn &(newPerIoData->overlapped));rn if (rc == FALSE)rn rn if (WSAGetLastError() != ERROR_IO_PENDING)rn coutsocket)) == SOCKET_ERROR)rn rn coutsocket,rn CompletionPort, (ULONG_PTR)newPerDandleData, 0);rnrn memset(&(perIoData->overlapped), 0, sizeof(OVERLAPPED));rn perIoData->operatorType = RECV;rn perIoData->buffer.buf = perIoData->dataBuffer;rn perIoData->buffer.len = perIoData->dataLength = DATA_LENGTH-1;rnrn coutoverlapped), NULL) == SOCKET_ERROR)rn rn if (WSAGetLastError() == WSA_IO_PENDING)rn cout<< endl;rn send(perHandleData->socket, perIoData->buffer.buf, bytes, 0);rn rn Flags = 0;rn perIoData->operatorType = RECV;rnrn ZeroMemory(&(perIoData->overlapped), sizeof(OVERLAPPED));rn WSARecv(perHandleData->socket, &(perIoData->buffer), 1,rn &RecvBytes, &Flags, &(perIoData->overlapped), NULL);rn rnrn return 0;rnrnrn//////////////////////////////////////////////////////////////////////////rn// clientrnrnLPFN_CONNECTEX lpfnConnectEx = NULL;rnunsigned WINAPI ClientThread(LPVOID lpParam);rnrnvoid StartClient()rnrn HANDLE CompletionPort;rn SOCKADDR_IN addr;rnrn CompletionPort = CreateIoCompletionPort(INVALID_HANDLE_VALUE, NULL, 0, 0);rnrn SOCKET Client = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);rn LPPER_HANDLE_DATA perDandleData;rn perDandleData = (LPPER_HANDLE_DATA)GlobalAlloc(GPTR, sizeof(PER_HANDLE_DATA));rn perDandleData->socket = Client;rn CreateIoCompletionPort((HANDLE)Client, CompletionPort, (ULONG_PTR)perDandleData, 0);rnrn addr.sin_family = AF_INET; rn addr.sin_addr.s_addr = htonl(INADDR_ANY);rn addr.sin_port = htons(0);rnrn bind(Client, (PSOCKADDR)&addr, sizeof(addr));rnrn GUID guidAcceptEx = WSAID_CONNECTEX;rn DWORD dwBytes = 0;rn if (!WSAIoctl(Client, SIO_GET_EXTENSION_FUNCTION_POINTER,rn &guidAcceptEx, sizeof(guidAcceptEx), &lpfnConnectEx, sizeof(lpfnConnectEx),rn &dwBytes, NULL, NULL) == 0)rn rn coutdataBuffer, 0, &dwBytes, &(perIoData->overlapped));rn if (bRet == FALSE)rn rn if (WSAGetLastError() != ERROR_IO_PENDING)rn coutsocket);rn GlobalFree(perHandleData);rn GlobalFree(perIoData);rn coutbuffer.buf = perIoData->dataBuffer;rn perIoData->buffer.len = (u_long)strlen(perIoData->dataBuffer);rnrn if (WSASend(perHandleData->socket, &(perIoData->buffer), 1,rn &SendBytes, 0, &(perIoData->overlapped), NULL) == SOCKET_ERROR)rn rn if (WSAGetLastError() == WSA_IO_PENDING)rn coutbuffer.buf = perIoData->dataBuffer;rn perIoData->buffer.len = (u_long)strlen(perIoData->dataBuffer);rn ZeroMemory(&(perIoData->overlapped), sizeof(OVERLAPPED));rn Flags = 0;rn if (WSASend(perHandleData->socket, &(perIoData->buffer), 1,rn &SendBytes, Flags, &(perIoData->overlapped), NULL) == SOCKET_ERROR)rn rn if (WSAGetLastError() == WSA_IO_PENDING)rn cout<<
IOCP连接表求指点?
写完才发现碰见个棘手的问题,因为第一次写,想知道大家一般怎么做rn我维护着一个<em>连接</em>表,收到<em>连接</em>和关闭<em>连接</em>时直接回调然后添加和删除这个表,这个表的元素可以看成是句柄指针rn收到数据后,会将数据形成包排列到一个队列中,包中也包含<em>连接</em>表的索引,现在问题是,如果我收到10个包然后压入队列,但服务器还没来的及处理,<em>连接</em>就关闭了,然后就从句柄表中删除了,然后这个索引被重用,此时服务器再去处理这10个包,就会以为是其他<em>连接</em>发过来的数据rnrn我的设计肯定是有问题的,想知道大家在设计这一块的时候一般是怎么设计的 谢谢
IOCP 关闭客户端连接的问题
现在的代码通常是在GetQueuedCompletionStatus返回0,或者m_dwBytes传输的字节数为0的时候把客户端的<em>连接</em>给关了,不知道这样做是否合适。rnrn后来调的时候用GetLasterror获取代码,经常出现995,997这两个值。不知道是否需要做个特殊处理。rnrnif(0 == GetQueuedCompletionStatus(m_pParent->m_hIocp, &m_dwBytes,(LPDWORD)&m_uiKey, (LPOVERLAPPED*)_pOverLapped, INFINITE ))rn rn if(m_pOverLapped)rn rn //关闭<em>连接</em> rn rnrn continue; rn rnrn //本次传输的字节数rn if(m_dwBytes <= 0)rn rn if(m_pOverLapped)rn rn //关闭<em>连接</em> rn rn continue;rn rnrn牛人们给点指点,谢谢啦!
IOCP之超时连接关闭Socket
[size=14px]最近在学习IOCP完成端口,现在遇到一个问题想请教一下大家.rn我准备定时检查所有Socket的<em>连接</em>,如果发现有过长时间没有交互数据,就关闭这个<em>连接</em>.rn现在问题来了:怎么关闭呢?rn我的打算是用PostQueuedCompletionStatus 这个API,然后在线程里面 GetQueuedCompletionStatus 的时候 关闭这个<em>连接</em>rn我现在担心的是,由于是多线程的,如果在我关闭的时候,这个Socket又开始交互数据了?rn大家又什么好的做法了,请指导一下.谢谢了[/size]
几百个代理ip
长期收集的安全可用代理,不用再为代理发愁了!
IOCP应用中,用到WSABUF,但是wsabuf只支持char*类型。如何支持BYTE字节流?
在winsoc中WSABUF结构的buf是char*类型,这样不是变成只能字符串通讯了么。rn客户端如果发了一个12345,只是需要一个4字节的BYTE,可是用CHAR*就5字节。rn如何接受一块长度的字节,再考入内存解析呢。rnrn本人新手,问的不专业,希望高人能明白我的问题。
IOCP 服务器端 IOCP 服务器端
IOCP 服务器端 IOCP 服务器端 IOCP 服务器端
IOCP
最近看了别人写的一个简单的IOCP rn[code=C/C++]rn// IOCPDemo.cpp文件 调试通过rnrn#include "WSAInit.h"rn#include rn#include rnrn// 初始化Winsock库rnCWSAInit theSock;rnrn#define BUFFER_SIZE 1024rn#define OP_READ 1rn#define OP_WRITE 2rn#define OP_ACCEPT 3rnrntypedef struct _PER_HANDLE_DATA // per-handle数据rnrn SOCKET s; // 对应的套节字句柄rn sockaddr_in addr; // 客户方地址rn char buf[BUFFER_SIZE]; // 数据缓冲区rn int nOperationType; // 操作类型rn PER_HANDLE_DATA, *PPER_HANDLE_DATA;rnrnDWORD WINAPI ServerThread(LPVOID lpParam)rnrn // 得到完成端口对象句柄rn HANDLE hCompletion = (HANDLE)lpParam;rnrn DWORD dwTrans;rn PPER_HANDLE_DATA pPerHandle;rn OVERLAPPED *pOverlapped;rn while(TRUE)rn rn // 在关联到此完成端口的所有套节字上等待I/O完成rn BOOL bOK = ::GetQueuedCompletionStatus(hCompletion, rn &dwTrans, (PULONG_PTR)&pPerHandle, &pOverlapped, WSA_INFINITE);rn if(!bOK) // 在此套节字上有错误发生rn rn ::closesocket(pPerHandle->s);rn ::GlobalFree(pPerHandle);rn ::GlobalFree(pOverlapped);rn continue;rn rnrn if(dwTrans == 0 && // 套节字被对方关闭rn (pPerHandle->nOperationType == OP_READ || pPerHandle->nOperationType == OP_WRITE)) rnrn rn ::closesocket(pPerHandle->s);rn ::GlobalFree(pPerHandle);rn ::GlobalFree(pOverlapped);rn continue;rn rnrn switch(pPerHandle->nOperationType) // 通过per-I/O数据中的nOperationType域查看什么I/O请求完成了rn rn case OP_READ: // 完成一个接收请求rn rn pPerHandle->buf[dwTrans] = '\0';rn printf(pPerHandle-> buf);rn printf("\n");rnrn // 继续投递接收I/O请求rn WSABUF buf;rn buf.buf = pPerHandle->buf ;rn buf.len = BUFFER_SIZE;rn pPerHandle->nOperationType = OP_READ;rn rn DWORD nFlags = 0;rn ::WSARecv(pPerHandle->s, &buf, 1, &dwTrans, &nFlags, pOverlapped, NULL); rn rn break;rn case OP_WRITE: // 本例中没有投递这些类型的I/O请求rn break;rn case OP_ACCEPT:rn break;rn rn rn return 0;rnrnrnrnvoid main()rnrn int nPort = 5500;rn // 创建完成端口对象,创建工作线程处理完成端口对象中事件rn HANDLE hCompletion = ::CreateIoCompletionPort(INVALID_HANDLE_VALUE, 0, 0, 0);rn ::CreateThread(NULL, 0, ServerThread, (LPVOID)hCompletion, 0, 0);rnrn // 创建监听套节字,绑定到本地地址,开始监听rn SOCKET sListen = ::socket(AF_INET, SOCK_STREAM, 0);rn SOCKADDR_IN si;rn si.sin_family = AF_INET;rn si.sin_port = ::ntohs(nPort);rn si.sin_addr.S_un.S_addr = INADDR_ANY;rn ::bind(sListen, (sockaddr*)&si, sizeof(si));rn ::listen(sListen, 5);rnrn // 循环处理到来的<em>连接</em>rn while(TRUE)rn rn // 等待接受未决的<em>连接</em>请求rn SOCKADDR_IN saRemote;rn int nRemoteLen = sizeof(saRemote);rn SOCKET sNew = ::accept(sListen, (sockaddr*)&saRemote, &nRemoteLen);rn // 接受到新<em>连接</em>之后,为它创建一个per-handle数据,并将它们关联到完成端口对象。rn PPER_HANDLE_DATA pPerHandle = rn (PPER_HANDLE_DATA)::GlobalAlloc(GPTR, sizeof(PER_HANDLE_DATA));rn pPerHandle->s = sNew;rn memcpy(&(pPerHandle->addr), &saRemote, nRemoteLen);rn pPerHandle->nOperationType = OP_READ;rn ::CreateIoCompletionPort((HANDLE)pPerHandle->s, hCompletion, (ULONG_PTR)pPerHandle, 0);rn // 投递一个接收请求rn OVERLAPPED *pol = (OVERLAPPED *)::GlobalAlloc(GPTR, sizeof(OVERLAPPED));rn WSABUF buf;rn buf.buf = pPerHandle->buf;rn buf.len = BUFFER_SIZE; rn DWORD dwRecv;rn DWORD dwFlags = 0;rn ::WSARecv(pPerHandle->s, &buf, 1, &dwRecv, &dwFlags, pol, NULL);rn rnrnrn//====================================================================================================rn//有些问题,GlobalAlloc 我试过,用new PER_HANDLE_DATA 也不会有问题,但new OVERLAPPED 的时候就有问题了,rn//OVERLAPPED 用 new 申请,释放方式当然是用delete ,GetQueuedCompletionStatus 就会一直无反应,rn//在CreateIoCompletionPort是,传进去的是地址,但并没在main里释放,rn//GetQueuedCompletionStatus传出的也是地址,在工作线程里用两个指针指向这两地址了,并使用里面的值,rn//然后释放这地址,太不明白了。。求解求真相求真理,,。。。。。问题好像有点模糊..rn[/code]
iocp
客户端不管closesocket还是不用closesocket直接退出rn服务器端GetQueuedCompletionStatus都会产生rnERROR_NETNAME_DELETED rn
delphi IOCP delphi IOCP
delphi IOCP ,delphi IOCP ,delphi IOCP ,delphi IOCP ,delphi IOCP delphi IOCP delphi IOCP ,delphi IOCP delphi IOCP
KX3538只支持XP
KX3538完美<em>支持</em>XP系统内含插件安装简单。
为什么只能支持一个人连接通讯?
using System;rnusing System.IO;rnusing System.Net;rnusing System.Net.Sockets;rnusing System.Text;rnusing System.Threading;rnrnclass MyTcpListenerrnrn public static void Main()rn rn ThreadStart worker = new ThreadStart(listenerLinker);rn Thread t = new Thread(worker);rn t.Start();rn rnrn public static void listenerLinker()rn rn TcpListener server = null;rn tryrn rn Int32 port = 13000;rn IPAddress localAddr = IPAddress.Parse("192.168.1.5");rnrn server = new TcpListener(localAddr, port);rnrn server.Start();rnrn Byte[] bytes = new Byte[256];rn String data = null;rnrn while (true)rn rn Console.Write("等待<em>连接</em> ... ");rnrn TcpClient client = server.AcceptTcpClient();rn Console.WriteLine("<em>连接</em>成功!");rnrn data = null;rnrn NetworkStream stream = client.GetStream();rnrn int i;rnrn while ((i = stream.Read(bytes, 0, bytes.Length)) != 0)rn rn data = System.Text.Encoding.ASCII.GetString(bytes, 0, i);rn Console.WriteLine("收到: 0", data);rnrn byte[] msg = System.Text.Encoding.ASCII.GetBytes(data);rnrn stream.Write(msg, 0, msg.Length);rn Console.WriteLine("发送: 0", data);rn rnrn client.Close();rn rn rn catch (SocketException e)rn rn Console.WriteLine("<em>连接</em>出现意外错误: 0", e);rn rn finallyrn rn server.Stop();rn rn Console.WriteLine("\n回车键继续...");rn Console.Read();rn rnrnrn
libevent的window平台下支持IOCP高并发
扩展libevent<em>支持</em>了IOCP的复用,提高了开发技术上的难点,方便在不同平台下开发,运行,测试,满足当前高并发服务器开发的必备资料
IOCP详解实例,支持同步和异步
因工作的原因,现要用到高效的IOCP,从网上找了一些例子,可基本上是异步的,rn可我还需要同步的。我想在异步收到特定的命令后再进入同步状态,这主要是用来进行数据的传输(上传,下载等)。rnrnrn哪位高手能给个源码!
gcc只支持utf8
疑问 编译器对wchar_t<em>支持</em>有问题, gcc只<em>支持</em>utf8类型的源文件编码,不<em>支持</em>gbk类型的源文件。
LibCurl库支持Windows的IOCP吗?
LibCurl库<em>支持</em>Windows的IOCP吗?
vc用 directx连接错误为什么 ???????
出现 error LNK2001:Unresolved external symbol _DirectDrawCreateEX@16rn error LNK2001:Unresolved external symbol _IID_IDirectDraw7rn fatal error LNK1120:2unresolved externlsrnrn怎么回事?rnrn我已包含了directxsdk的include和lib目录rn编译sdk带的例子不会出错 ,我把一个例子的 cpp文件的内容考到我的cpp文件里rn也抱同样的错误,是怎么回事.rnrnVC好怪呀?是在别的什么地方设置了吗 ?rn大家帮帮我!!
为什么VC连接 oracle 总是失败
是不是我<em>连接</em>字符串 写错了 ?rnrn _bstr_t strConnect="Provider=OraOLEDB.Oracle;User ID=ccc;Password=123;Data Source=RHTESTDB;";rnrnrnrnrnrnrnrntnsnames.orarnrn里面配置rnrnrnRHTESTDB=rn (DESCRIPTION =rn (ADDRESS_LIST =rn (ADDRESS = (PROTOCOL = TCP)(HOST = ********)(PORT = 1521))rn )rn (CONNECT_DATA =rn (SERVICE_NAME = RHTESTDB)rn )rn )
几百个200PLC程序下载
这些程序包含各行业的使用程序,大多数都是经过验证通过的,值得参考。
几百个zinemaker特效
这里有zinemaker特效共330个,欢迎下载和使用,
几百个精品win7图标
<em>几百个</em>精品win7图标. 做ERP,进销存等管理软件非常实用。
vc语言编程之iocp系统
IOCP全称I/O Completion Port,中文译为I/O完成端口。IOCP是一个异步I/O的API,它可以高效地将I/O事件通知给应用程序。
小弟做的网站 提供几百个视频教程 + 技术文章!望多多支持
小弟做的网站 提供<em>几百个</em>视频教程 + 技术文章!望多多<em>支持</em>!rnrn[color=#FF0000][size=14px]IT智囊团[/size][/color]rnrn[url=http://zntcn.com/][img=http://zntcn.com/img/logo.gif][/img][/url]rnrn[url=http://www.zntcn.cn][img=http://www.zntcn.cn/images/aoyi_logo.jpg][/img][/url] rnrn网络上的视频教程大部分都收集了!rnrn如果在这里有您找不到的视频,还望通知一声,我会尽快补上!rnrn如果觉得小弟这个网站还可以的话,请帮忙多推荐推荐。。。rn
能否设置vc让他只支持标准c语法
c++语法,和非标准c语法就报错,可以设置吗,谢谢。
VC IOCP 高手帮我看看吧。
我弄个了IOCP,接收客户端的数据为一个线程,处理客户端的数据为一个线程rnrn记录客户数据的类为:rn[code=c]rnclass CRecvList//记录各个线程接收到的数据rnrn public:rn char recvinfo[MAX_BUF_SIZE];rn char userno[30];rn CRecvList(char rinfo[MAX_BUF_SIZE],char uno[30])rn rn memset(recvinfo,0,MAX_BUF_SIZE);rn memset(userno,0,30);rnrn if (sizeof(recvinfo)clno);rn pThis->m_recvslist.insert(map::value_type(pPerSockData->m_Socket,crlt));rnrn[/code]rnrn数据处理线程rn[code=c]rnrn CIOCPServer *pThis = (CIOCPServer *)lpParam;rn CString lcs_revle;rn SOCKET fsktno;rn BOOL lrscvle=FALSE;rn int lionline=0;rn TCHAR recid[30];rn char cDllSkt[10];rn _variant_t lvt_conid,lvt_exec_re;rn SOCKET SKTLE;rn _variant_t lvt_retrunvle;rnrn char sendrecvs[MAX_BUF_SIZE]='\0';rn CRecvList *crlt=NULL;rn map::iterator iter;rn tryrn rn while(true)rn rn EnterCriticalSection(&m_rclinfo);rn iter=pThis->m_recvslist.begin();rn if (iter!=pThis->m_recvslist.end())rn rn int lic=pThis->m_recvslist.size();rn SKTLE=(SOCKET)iter->first;rn crlt=(CRecvList*)iter->second;rn pThis->m_recvslist.erase(iter);rn rn elsern rn Sleep(100);rn continue;rn rn rn LeaveCriticalSection(&m_rclinfo);rn rn rn lionline=0;rn MultiByteToWideChar(CP_ACP, 0, crlt->userno, -1, recid, 30);rn lvt_conid=(LPCTSTR)recid;rn if(lvt_conid.vt==NULL)rn rn if(crlt!=NULL)rn rn delete crlt;rn crlt=NULL;rn rn closesocket(SKTLE);rn continue;rn rn lrscvle=pThis->m_wApp->f_getsocket(lvt_conid,lvt_exec_re);rn if (lrscvle)rn rn lcs_revle.Empty();rn if (lvt_exec_re.vt == VT_NULL)rn rn lionline=0;rn rn elsern rn lcs_revle=(char *)(_bstr_t)lvt_exec_re;rn rnrn if (lcs_revle.IsEmpty() || lcs_revle=="0")rn rn lionline=0;rn rn elsern rn fsktno=(SOCKET)_ttoi(lcs_revle);rn if (crlt->recvinfo[0]!='z')rn rn if (crlt->recvinfo[0]!='6')rn rn lionline=1;//rn rn elsern rn if (strcmp(crlt->userno,"")==0 || crlt->userno[0]==NULL)rn rn if(crlt!=NULL)rn rn delete crlt;rn crlt=NULL;rn break;rn rn rn lionline=2;rn memcpy(crlt->recvinfo+2,crlt->userno,sizeof(crlt->userno));rn rn pThis->PostSend(crlt->recvinfo,sizeof(crlt->recvinfo),fsktno);rn rn elsern rn lionline=2;rn pThis->PostSend(crlt->recvinfo,sizeof(crlt->recvinfo),fsktno);rn rn rn rn elsern rn lionline=0;rn rn rn if(crlt!=NULL)rn rn delete crlt;rn crlt=NULL;rn rn rnrn rn catch (_com_error e) rn rn CString err;rn err.Format(L"WorkThreadsends: %s",(char*)e.Description());rn pThis->writelogs(err);rn return FALSE; rn rn return TRUE;rn[/code]rnrn本机测试,试不出问题,如果我把程序编译后,发到另一台机子。这时客户端狂发数据,发完之后,<em>iocp</em>就地出错,有时是报个错,有时直接就退出程序了,找来找去都没找到问题点。请高手指点rnrn经多次,注释不同的代码,终于发现原因,但不知道,如何修改。rn问题出在:PostSend这个发送函数,我的估计是,当客户端发送完之后,关闭SOCKET时,接收线程也关闭了SOCKET,而且处理线程,此时还继续把接收的数据,在发完客户端,这里客户端已经关半,发送的SOCKET也失效了,rnrn不知道,分析得对不,如果对,应该怎么解决了rn这里postsend的函数rn[code=c]rntryrn rn if (sendskt == INVALID_SOCKET || sendskt==0)rn return FALSE;rn DWORD dwSend = 0;rn COverLappedEx *pOverLapEx = new COverLappedEx(IO_TYPE_WRITE);rn memcpy(pOverLapEx->m_szBuf,lpszText,dwSizeInBytes);rn WSABUF wsaBuf = 0;rn wsaBuf.buf = pOverLapEx->m_szBuf;rn wsaBuf.len = dwSizeInBytes;rn WSASend(sendskt, &wsaBuf, 1, &dwSend, 0, &(pOverLapEx->m_OLap), NULL);rn return TRUE;rn rn catch (_com_error e) rn rn CString err;rn err.Format(L"PostSend: %s",(char*)e.Description());rn writelogs(err);rn return false; rn rn[/code]
几百个经典QQ表情
提供<em>几百个</em>QQ小娃娃表情,搞笑有内涵,不搞笑没意思欢迎喷我。 导入步骤:任意打开一个QQ聊天窗口,选择QQ表情,右上角的设置图标,选择导入导出表情包,接下来的步骤你懂的。
几百个程序开发小图标下载
Ico小图标下载 <em>几百个</em>程序开发小图标下载
JaveScript几百个小实例
JaveScript<em>几百个</em>小实例,包含了各种各种的样式和实现方法。基本用到的全都有~工作必备
几百个游戏鼠标指针下载
<em>几百个</em>游戏鼠标指针下载,可在程序设计时用来改变鼠标的样式,其中包括.cur和.ani文件的鼠标
几百个关于c的htm
htm格式关于c语言的总结
[Iconfont]常用的几百个图标字体
这是个TTF字体文件,里面包含了<em>几百个</em>比较常见的图标字符,还可以,有兴趣的可以下载看看
c++ 几百个加密算法源代码
c++ <em>几百个</em>加密算法源代码,让你一次下个够 仔细研究收益很多哦
几百个很好的flash时钟
<em>几百个</em>很好的flash时钟 .
IOCP连接中断后如何释放资源??
使用完成端口模型做了一个服务器,现在有一个疑虑,就是当一个<em>连接</em>中断之后,在完成端口上是否还要将该<em>连接</em>剔除掉??如果需要如何剔除??因为我看到每个connect进来的<em>连接</em>如果成功都会和一个完成端口通过CreateIoCompletionPort函数进行关联,当这个<em>连接</em>失效的时候,难道不需要解除这种关联关系吗??还有一个完成端口最多能和多少个<em>连接</em>进行关联??难道是无限制的吗??
IOCP主动关闭一个客户端连接
请问一下各位用过的大神,每次关闭<em>连接</em>的时候。已经投递的ReadIO就会以错误的方式返回rn也就是当closesocket的时候。GetQueuedCompletionStatus会有返回就是已经投递的ReadIorn有没有方法,让我在closesocket前把这个关掉。
iocp资料,IOCP完成端口详解
完成端口相关知识,详细解释了完成段公开的原理和运用
IOCP服务器 监听接收连接部分?
我的接受<em>连接</em>函数是用的:WSAAcceptrnrn我在对我服务器进行压力测试的时候,发现:程序中断在比较底层的代码。rn[code=C/C++]_CRTIMP PFLS_GETVALUE_FUNCTION __cdecl __set_flsgetvalue()rnrn#ifdef _M_IX86rn PFLS_GETVALUE_FUNCTION flsGetValue = FLS_GETVALUE;//这里过不去(%100)rn if (!flsGetValue)rn rn flsGetValue = _decode_pointer(gpFlsGetValue);rn TlsSetValue(__getvalueindex, flsGetValue);rn rn return flsGetValue;rn#else /* _M_IX86 */rn return NULL;rn#endif /* _M_IX86 */rn[/code]rnrn发现%30是从WSAAccept函数这儿发生的。rnrn我就搞不明白了,怎么会出现这个怪异的问题。rnrn我测试的方式是:<em>连接</em>上发送一个命令,等待命令返回,断开<em>连接</em>。rn客户端之间的<em>连接</em>请求是有时间间隔的,在这儿我是5毫秒发送一个,即测试软件一秒发送200个<em>连接</em>以及命令。rnrnrn
itools 单文件版 只支持苹果设备连接
网上基本找不到单文件版本了 非常好用 收藏了好几年了,现在分享给大家
VS2005调试嵌入式的代码,只支持ActiveSync方式连接吗?
使用VS2005开始嵌入式程序,在调试的时间<em>为什么</em>只能使用ActiveSync方式<em>连接</em>到开发板呢?EVC就可以有多种方式,例如:传输有:KITL Translate和TCP/IP Translate方式。启动有:CESH,Manual Server等方式。请问有谁遇见该问题?
微软的jdbc只支持5个连接,谁有无限制的?
rt
IOCP模型最多能连接多少个客户
本人也是初学网络编程rn都说IOCP能同时<em>连接</em>上万得客户端 rn我现在对服务端一对一能理解rn但是一台服务端 和多台客户端<em>连接</em> 不太懂rn如果不用IOCPrn直接写成rns=SOCKET();rnrnlisten(s,10000)rn这样是不是也能同时<em>连接</em>10000台客户端呢?
c# IOCP客户端连接无法释放
使用SocketAsyncEventArgs(IOCP完成端口)做socket服务器软件,客户端成功<em>连接</em>到服务器后,人工将客户端的网线断掉,使用<em>连接</em>监视软件发现服务器对该客户端的状态一直显示为<em>连接</em>,客户端对应的SocketAsyncEventArgs对象的completed事件没有任何响应(等了几个小时),以至<em>连接</em>无法释放,不知如何处理!哪位大神能告诉我怎么办,谢谢!
s40 手机只支持http连接是什么意思?
如题rn我要是需要s40上<em>支持</em> socket 怎么办?
当CMP有几百个表(即几百个EntityBean)时,怎么办????
在通常的设计中,每一个EntityBean对应于一数据库中一个表,如果数据库中相当大,有<em>几百个</em>表,那么是否需要<em>几百个</em>EntityBean??rn 这<em>几百个</em>表的关系是相当复杂的,如果用CMP,那么CMP所定义的Bean和Bean的关系也是相当复杂的。rn 这种设计是否合理呢???如何优化呢??rn 如果不使用这种设计方法,那么应该使用哪种技术??如何设计呢???rn请各位朋友发表一下意见,谢谢!!
VC 6.0 连接SQL Server2005为什么连接不通呢?
在stdafx.h文件里加入: rn #import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF") rnrn rnCoUninitialize();rnrnrnvoid CDddDlg::OnOK() rnrn _ConnectionPtr m_pConnection; rn CoInitialize(NULL); rn rn HRESULT hr; //返回结果变量 rn try rn rn hr=m_pConnection.CreateInstance("ADODB.Connection"); //创建Connection对象 rn if(SUCCEEDED(hr)) rn rn hr=m_pConnection->Open("Provider=SQLOLEDB;Server=192.168.1.118;Database=boaolock;User ID=sa;pwd=123456;","","",adModeUnknown); rn rn MessageBox("成功","sss",MB_OK); rn rn rn catch(_com_error e) rn rn CString errorMsg; rn errorMsg.Format("<em>连接</em>数据库失败!\r\n错误信息:%s",e.ErrorMessage()); rn rn rnrnCoUninitialize();rnrnrn
IOCP服务器端怎么主动关闭连接
当接收到一个<em>连接</em>后,先向其投递一个WSARecv的操作,等待操作完成,当操作完成后处理数据,然后再次发送一个WSARecv请求来等待下次的数据。rnrn上面的逻辑没有问题吧?rnrn如果是客户端主动关闭了<em>连接</em>,接收操作会完成,并且numberOfBytes的值为零,服务器就可以调用closesocket来关闭<em>连接</em>了rnrn可如果我要服务器主动关闭<em>连接</em>,按理说closesocket之后客户端应该也能收到消息的rnrn当我再一次接收操作完成,投递下一个接收操作之前关闭<em>连接</em>的话,客户端可以正常收到<em>连接</em>关闭的消息rnrn可当用另外的线程来关闭<em>连接</em>时(这时候应该还有一个未完成的Recv操作),客户端就不知道<em>连接</em>已经关闭了rnrn再有,就是socket已经关闭了,那么之前投递的那个Recv操作不是就永远不能完成了?
求助:iocp多client连接出现无响应?
看到关于讨论<em>iocp</em>的帖子,想起来以前写的一个服务器,拿起来看看,越看越难受rn于是开始大改,服务器业务全部删除,改成个聊天服务器rn信息分为两种rn1.command,现在只有一条 list ,返回服务器已<em>连接</em>的 ip:portrn2.chat,前0x20存放ip:port,后面是要发的信息rnrn单C/S测试基本正常,但是两个client连服务器测试收发的时候,出现问题rnrn比如存在CA,CB,Srn基本就是CA发送list,正常;CB发送list,正常;再CA发送list,就无响应了,不是C或者S程序无响应,是服务器对CA发送的信息没有反应,在线程里面写的OutputDebugStr也没有输出信息……断开重新<em>连接</em>就正常……rnrn但是以前的那个很烂的服务器还是用了很长时间的啊,“久经考验”……rnrn所做的修改基本只是把业务流程一块(收到信息存入队列,写共享内存交由业务处理程序处理)给删了,本来要写入队列交由处理线程处理的事情直接写在完成端口的线程里了……rnrn怀疑是<em>iocp</em>的线程里面哪死循环了,但是线程函数下断点也不好使,去掉业务处理,收到什么原文回发也会出现问题,直接懵了……rnrn野路子,代码很乱,勿笑……rn[code=C/C++]rnDWORD WINAPI WorkerThread(LPVOID CompletionPortID)rnrn HANDLE CompletionPort=(HANDLE)CompletionPortID;rn DWORD dwBytesTransferred;rn SOCKET recvClient, sendClient;rn LPPER_IO_OPERATION_DATA lpPerIOData = NULL;rn int errcode = 0;rn string errstr;rn char resend[MSGSIZE];rn int relen = 0;rnrn while (TRUE)rn rn ODS("Wait for GetQueuedCompletionStatus!");rn if (!GetQueuedCompletionStatus(CompletionPort,&dwBytesTransferred,(PULONG)&recvClient,(LPOVERLAPPED *)&lpPerIOData,INFINITE))rn rn errcode = GetLastError();rn if (64 == errcode)rn rn ODS("GetQueuedCompletionStatus Failed! ", errcode);rn DeleteFromClientQueue(recvClient);rn rn errstr = WSAErrcodeGetError(errcode);rn if (errstr != "")rn rn ODS("GetQueuedCompletionStatus Failed! ", errstr);rn rn continue;rn rnrn ODS("<em>iocp</em> recv from socket ", (int)recvClient);rnrn ODS("lpPerIOData->Flags ", (int)lpPerIOData->Flags);rnrn if (0xFFFFFFFF == dwBytesTransferred )rn rn //recv from post ret msgrn ODS("Recv -1 bytes! Client closed!");rn return 0;rn rnrn ODS("dwBytesTransferred ", (int)dwBytesTransferred);rnrn if (RECV_POSTED == lpPerIOData->OperationType)rn rn if (0 == dwBytesTransferred)rn rn //recv all rn/* ODS("Close client");rn HeapFree(GetProcessHeap(), 0, lpPerIOData); */ rn rn elsern rn ODS(lpPerIOData->szMessage);rn lpPerIOData->szMessage[dwBytesTransferred] = '\0';rnrn memset(resend, '\0', sizeof(resend));rn DealWithMsg(recvClient, lpPerIOData->szMessage, dwBytesTransferred, &sendClient, resend, &relen);rnrn if (SOCKET_ERROR == send(sendClient, resend, relen, 0))rn rn ODS("socket send error! ", WSAErrcodeGetError(WSAGetLastError()));rn rn // Launch another asynchronous operation for sClientrn memset(lpPerIOData, 0, sizeof(PER_IO_OPERATION_DATA));rn lpPerIOData->Buffer.len = MSGSIZE;rn lpPerIOData->Buffer.buf = lpPerIOData->szMessage;rn lpPerIOData->OperationType = RECV_POSTED;rn WSARecv(sClient,&lpPerIOData->Buffer,1,&lpPerIOData->NumberOfBytesRecvd,&lpPerIOData->Flags,&lpPerIOData->overlap,NULL);rn rn rn Sleep(1);rn rn return 0;rnrn[/code]rnrn工程在http://darklinden.googlecode.com/svn/trunk/CplusplusProjects/SimpleChat,有空的帮忙看下……
几百个ico图标
上百个ico小图标,美化软件图标。浏览器图标
几百个网页特效代码
<em>几百个</em>网页特效代码,粘贴复制就可以了,其中有些特效可能需要浏览器<em>支持</em>,请注意您的浏览器设置
收集的几百个鼠标光标
好不容易收集的<em>几百个</em>鼠标光标,其中有动画光标。
HR常用网站收集(几百个
1、收集<em>几百个</em>HR常用网站,供给大家查找和搜寻 2、HR动态类,管理类,资讯类,战略类,Hr论谈,外包,公司猎头等、博客,资讯类HR常用网站
几百个安卓开发实例
里面有<em>几百个</em>安卓app开发的小实例。比较适合初学者,我是通过这些实例入的门。这些都是从网络上搜集整理的,给有需要的朋友。
如何才能让VC的整个程序只使用一个连接???
比如:我在定义了一个好几个CRecordset的派生类(由ClassWizard生成)对象指针,并各自分配内存,分别对应同一数据库的不同数据表:m_pRecordset1,m_pRecordset2,m_pRecordset3,rn而后定义一个数据库<em>连接</em>对象CDatabase* m_pDatabase;rn也分配内存,m_pDatabase = new CDatabase;rn而后打开m_pDatabase->Open(...);rn而后 m_pRecordset1->m_pDatabase = m_pDatabase;rn m_pRecordset2->m_pDatabase = m_pDatabase;rn m_pRecordset3->m_pDatabase = m_pDatabase;rn而后打开各个记录集rn m_pRecordset1->Open();rn m_pRecordset2->Open();rn m_pRecordset3->Open();rnwhile(!m_pRecordset1->IsEOF())rnrn m_pDatabase->ExecuteSQL("update.........");//但此处出错!!!rn m_pRecordset->MoveNext();rnrn而且我的程序的好多地方都要访问数据库。可能会有同时访问的问题,有的是查询,而有的则是修改,删除等。rn当m_pDatabase有相应的记录集被打开时,我在另外的函数中在通过m_pDatabase执行Sql语句,将会出错。rn而且,每个<em>连接</em>都必须正常断开,否则下次程序启动再次<em>连接</em>数据库时就会报错。。。rn我想知道,一般的数据库应用程序中这样的问题是如何解决的,是如何搭建程序结构的,应该如何处理CDatabase和CRecordset对象之间的关系的。rnrn请各位大虾快点帮忙呀。。。。。。。。。。。。。。
在有指针的情况下为什么strcpy_s只支持三个参数?
[img=https://img-bbs.csdn.net/upload/201804/22/1524398113_712471.png][/img]rn这样写提示不接受两个参数,但是如果改成strcpy_s(Name,20,name);就对了,<em>为什么</em>呢?求大神解答!!!rn下面是整个程序:rn#includernusing namespace std;rnclass Studentrnrn char Num[10];rn char *Name;rn int Score;rnpublic:rn Student(char *num, char *name, int s)rn rn strcpy_s(Num, num);rn Name = new char[10];rn strcpy_s(Name,20,name);rn Score = s;rn rn ~Student()rn rn delete[]Name;rn rn void Show()rn rn cout << Num << " " << Name << " " << Score << endl;rn rn;rnint main()rnrn Student s1("123", "xiaoli", 23);rn Student *s2 = new Student("124", "xiaoming", 21);rn s1.Show();rn s2->Show();rn delete s2;rn system("pause");rn return 0;rn
为什么silverlight中只支持xmlreader 不支持xmlNode呢
如题,在vs10中,rn定义XmlReader是没问题的rn但是定义rnXmlNode和XmlTextReaderrn都会被提示是否缺少程序集引用,这是<em>为什么</em>呢/
安装部署添加注册表搜索为什么支持MicroSoft分支
只要是HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft分支下面的,都可以正常运行,但不是这个分支,注册表搜索始终失败,如果你的可以,请列举一个非Microsoft分支的例子,谢谢。我用的是VS2008。rnrn成功的列子:rnrnREGKEY 设置为 SOFTWARE\Microsoft\IIS Extensions\MSDeployrnrnROOT 设置为 vsdrrHKLMrnrnVALUE 设置为 SetupLanguagernrnCONDITION 设置为 REGISTRYVALUE1="en-US"rnrn这样是正常的,但我用类似的方法设置非Microsoft分支下面的东西,死活都不行。rnrn
为什么linux下的sybase12.5.2数据库的image类型只支持16k大小??
奇怪,请问该如何设置成更大的?
求救,我的tomcat为什么支持jsp,不能解析servlet?????
win2000 +professional +apache2.0 +tomcat4.1.18rn但只能解析docBase目录下的jsp文件,但不能解析这目录下web-inf/class下的class文件,说文件无效路径无效。rnrnrn这句我也加上了rn rn invokerrn /servlet/*rn
*** 为什么 音频低级输出api 都只支持 wav文件? ***
如果要播放mp3,是不是要转换成wav文件才行?
为什么我的2000终端服务器只支持5个终端用户
以前没问题最近重装了系统rn
为什么std::unordered_set::find只支持以key查找?
以我的愚见,std c++的一些基本行为,虽然细节不甚了解,但为何设计成那个样子,基本上还是明白的,除了这个std::unordered_set::find,由于它只能以key为查找,如果存的是对象(而非指针),为了查找一个对象,我还得先构造这个对象,这明显不合理。有人会说那用std::unordered_map啊,但这样一来,std::unordered_set是否显得有些多余?rnrn我心中的unordered_set应该是boost::container::unordered_set那样:rntemplate rniterator find(const KeyType &, KeyHasher, KeyEqual);rnrn可以看到它<em>支持</em>以任意key type为key来查找对象。
为什么MFC程序可以只支持ActiveX而不支持Automation?
VC6的MFC向导里面,其中的一步,选择COM组件<em>支持</em>的一页,默认选项是rnActiveX打钩rnAutomation不打钩。rnrn我的疑惑是,我觉得Automation是ActiveX的基础(我的说法可能是错的).rnrn这两个概念之间,到底是什么样的关系呢?rn
在linux下,apache 为什么支持php4,而不支持php3
我是在redhat advanced server 3.0下用的apache+php+mysql,它认识PHP4,但是就是不认识PHP3,不知该怎么办呀,哪位兄弟知道,教教我
richtextbox拖拽不支持string,好像只支持文件,不知道为什么
例如我把一个label文本拖到一个richtextbox:rnprivate void Form1_Load(object sender, EventArgs e)rnrn richTextBox1.AllowDrop = true;rn richTextBox1.DragEnter += new DragEventHandler(richTextBox1_DragEnter);rn richTextBox1.DragDrop += new DragEventHandler(richTextBox1_DragDrop);rnrnprivate void label1_MouseDown(object sender, MouseEventArgs e)rnrn DoDragDrop(label1.Text, DragDropEffects.Copy);rnrnprivate void richTextBox1_DragEnter(object sender, DragEventArgs e)rnrn if (e.Data.GetDataPresent("Text"))rn e.Effect = DragDropEffects.Copy;rnrnprivate void richTextBox1_DragDrop(object sender, DragEventArgs e)rnrn richTextBox1.Text = e.Data.GetData("System.String", true).ToString();rnrnrn但是richTextBox1_DragDrop()函数不会执行?rn有知道的吗?请教了,谢谢!在线等
Silverlight5_Developer--“需要安装最新的silverlight Developer运行时”解决办法下载
VS2010创建SILVERLIGHT项目时提示“你需要安装时新的SILVERLIGHT DEVELOPER运行时”。解决这个问题,可以先搜索我的资源,安装第一个程序:Silverlight5--“需要安装最新的silverlight Developer运行时”解决办法”,然后安装第二个程序(本资源的程序),即可解决问题,亲测。 希望大家多多给这个资源评价,帮助更多的人! 相关下载链接:[url=//download.csdn.net/download/ahcmm2008/6682535?utm_source=bbsseo]//download.csdn.net/download/ahcmm2008/6682535?utm_source=bbsseo[/url]
数据结构算法Visual C++ 6.0程序集下载
数据结构算法Visual C++ 6.0程序集 相关下载链接:[url=//download.csdn.net/download/bluesun88/4426057?utm_source=bbsseo]//download.csdn.net/download/bluesun88/4426057?utm_source=bbsseo[/url]
DHTMLX-SAMPLE下载
DHTMLX-SAMPLE 相关下载链接:[url=//download.csdn.net/download/xiaofeng778/8150775?utm_source=bbsseo]//download.csdn.net/download/xiaofeng778/8150775?utm_source=bbsseo[/url]
相关热词 c#检测非法字符 c#双屏截图 c#中怎么关闭线程 c# 显示服务器上的图片 api嵌入窗口 c# c# 控制网页 c# encrypt c#微信网页版登录 c# login 居中 c# 考试软件
我们是很有底线的