Solved

C++ multithread Server

Posted on 2000-03-16
1
557 Views
Last Modified: 2008-01-09
What's the most efficient way to implement a C++ multithread server using sockets?

I have a server that has an infinite loop. This loop has an accept socket function, and when a client connects with the server socket, the server creates a thread and relays the communication to this thread. Then, the server returns to the  loop.

Are there any more efficient ways to implement this functionality?
0
Comment
Question by:Lucsat
1 Comment
 
LVL 1

Accepted Solution

by:
karlww earned 100 total points
ID: 2625686
I assume you are refering to a console application in blocking mode.  If so, you got it;

while (1)
{
   SOCKET sa = accept(m_s,
                      (sockaddr *) &sai,
                      &nSize);
   // send sa to thread for processing
}

You can use non-blocking sockets if using WinSock, which takes more than the 1000 character this is limited to.

Good books on WinSock, number 1 covers blocking, 2 both but mainly nonblocking after a couple chapters.
1. Internetworking With TCP/IP Volume III - WinSock Version.

2. Windows Sockets Network Programming.
0

Featured Post

Threat Intelligence Starter Resources

Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

Join & Write a Comment

  Included as part of the C++ Standard Template Library (STL) is a collection of generic containers. Each of these containers serves a different purpose and has different pros and cons. It is often difficult to decide which container to use and …
Introduction This article is a continuation of the C/C++ Visual Studio Express debugger series. Part 1 provided a quick start guide in using the debugger. Part 2 focused on additional topics in breakpoints. As your assignments become a little more …
The goal of the video will be to teach the user the difference and consequence of passing data by value vs passing data by reference in C++. An example of passing data by value as well as an example of passing data by reference will be be given. Bot…
The viewer will learn additional member functions of the vector class. Specifically, the capacity and swap member functions will be introduced.

744 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now