诚心请教各位高手.完成端口的问题

showtime1943 2005-07-19 03:19:54
用完成端口做的网络程序最大能支持多少个客户端??
比如在客户端建立一个联接函数NetLink()来跟服务器联接。用如下方法来测试联接数准确吗?
for(i=0;i<10000;i++)
NetLink();
谢谢......................
...全文
220 点赞 收藏 12
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
tccsdn 2006-03-23
我用开线程的方法测试的是13000左右的,后来内存没这么多就无法测试了(局域网内测试的)
回复
borland_boy 2006-03-22
我用这段代码连接了3000多个连接以后程序就 挂了不过十客户端挂了
回复
borland_boy 2006-03-22
void __fastcall TFrmMain::Button1Click(TObject *Sender)
{
WSADATA wsaData;
int iResult;
sockaddr_in clientService;

const int ForCount = 10000;
int nClientSocket[ForCount]; //

//检查socket版本.
iResult = WSAStartup( MAKEWORD(2,2), &wsaData );
if ( iResult != NO_ERROR )
ShowMessage("Error at WSAStartup()\n");

for (int i=0; i<ForCount; i++){
// 建立socket.
nClientSocket[i] = socket( AF_INET, SOCK_STREAM, IPPROTO_TCP );
if ( nClientSocket[i] == INVALID_SOCKET ) {
ShowMessage( "Error at socket(): " + String(WSAGetLastError()) );
WSACleanup();
return;
}

// 连接到服务器.
clientService.sin_family = AF_INET;
clientService.sin_addr.s_addr = inet_addr( Edit1->Text.c_str() );
clientService.sin_port = htons( Edit2->Text.ToInt() );

if ( connect( nClientSocket[i], (SOCKADDR*) &clientService, sizeof(clientService) ) == SOCKET_ERROR) {
ShowMessage( "Failed to connect.\n" );
WSACleanup();
return;
}
}
}
回复
nuaawenlin 2005-07-21
可以通过你的方法来判断,不过在函数中要判断是否能连接得上,这样才知道连接了多少个
回复
showtime1943 2005-07-20
各位高人能不能给一个测试完成端口最大连接数的代码?
回复
showtime1943 2005-07-20
谢谢你们了。
第二个问题就是模拟连接数的方法。这样子是不对的吗?
一楼的 lifengice0706说”我个人在pc上模拟过pc对pc的最高连接数为500“
你是怎么样模拟的。用多线程吗?
回复
lifengice0706 2005-07-20
我的服务端是一个iocp和cpu*2个workerthread相结合,我很赞成fisker0303的话,个人认为是没有什么限制的,只是在iocp模式下,在同等连接数时,服务器会有更高的效率,比如cpu利用率,尝试连接成功的次数等等。当然如果几十万条连接,我就不敢断言了,得问microsoft了。:)
回复
fisker0303 2005-07-20
我想,这主要受限于硬件吧,如果内存嗷嗷大,CPU嗷嗷多,呵呵... ...
回复
liuwei200000 2005-07-20
int = 1024;
while(i<10000)
{
BOOL ok = m_Socket->Create(i);
while (!m_Socket->Connect(IP,Port)&&ok)
{
//无法连接
if (AfxMessageBox("无法连接服务器!\n 是否重试?",MB_YESNO)==IDNO)
{
//错误处理
//delete m_Socket;
//m_Socket=NULL;
return FALSE;
}
}
}
回复
showtime1943 2005-07-20
各位是看分太少了,没人给个正招?不够咱再加
回复
sodme 2005-07-19
用完成端口做的网络程序最大能支持多少个客户端??
---------------------------------------------------------------

此问题可以进FAQ了
回复
lifengice0706 2005-07-19
不好意思,没看懂你的第二问是什么意思。
至于iocp能承载的最大连接数,我看到有book上说有人测到7000多,我个人在pc上模拟过pc对pc的最高连接数为500,当然后来再没测过更多的。
回复
相关推荐
发帖
网络编程
创建于2007-09-28

1.8w+

社区成员

VC/MFC 网络编程
申请成为版主
帖子事件
创建了帖子
2005-07-19 03:19
社区公告
暂无公告