Click here to Skip to main content
15,914,165 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralRe: TOXCCT is right Pin
Rajesh R Subramanian19-Jan-06 17:47
professionalRajesh R Subramanian19-Jan-06 17:47 
AnswerRe: TOXCCT is right Pin
Toby Opferman20-Jan-06 13:06
Toby Opferman20-Jan-06 13:06 
Questionmultithreading + winsock Pin
yamunasenthilvel18-Jan-06 2:08
yamunasenthilvel18-Jan-06 2:08 
AnswerRe: multithreading + winsock Pin
vikas amin18-Jan-06 2:19
vikas amin18-Jan-06 2:19 
GeneralRe: multithreading + winsock Pin
yamunasenthilvel18-Jan-06 2:29
yamunasenthilvel18-Jan-06 2:29 
GeneralRe: multithreading + winsock Pin
yamunasenthilvel18-Jan-06 3:02
yamunasenthilvel18-Jan-06 3:02 
QuestionRe: multithreading + winsock Pin
David Crow18-Jan-06 4:05
David Crow18-Jan-06 4:05 
AnswerRe: multithreading + winsock Pin
yamunasenthilvel18-Jan-06 4:18
yamunasenthilvel18-Jan-06 4:18 
// multithread.cpp : Defines the entry point for the console application.


#include "stdafx.h"
#include <afxtempl.h>
#include <winsock2.h>
#include <stdio.h>
#include <conio.h>
#include <string.h>


DWORD WINAPI sthread(LPVOID param);
DWORD WINAPI cthread(LPVOID iparam);
int startserver();
int stopserver();

HANDLE hthread;
HANDLE hstopevent;
CArray<handle,handle> threadarray;

DWORD WINAPI cthread(LPVOID iparam)
{
printf(" client thread");
return 0;
}
DWORD WINAPI sthread( LPVOID param)
{
SOCKET sserver,sclient;
SOCKADDR_IN sadd;
HANDLE hcthread;
DWORD sthreadid;
int lenaddr;
sserver = (SOCKET &)param;

if ( listen(sserver, 5 ) == SOCKET_ERROR )
{
printf( "Error listening on socket.\n");
return 0;
}

// Accept connections.

printf( "Waiting for a client to connect...\n" );
while (1)
{
lenaddr = sizeof(sadd);
sclient = accept(sserver,(struct sockaddr*)&sadd, &lenaddr);
if( sclient == INVALID_SOCKET)
{
printf("Accept Failed");
break;
}
printf("Client Connected");
printf("Accepted client: %s: %d\n",inet_ntoa(sadd.sin_addr), ntohs(sadd.sin_port));

hcthread = CreateThread(NULL,0,&cthread,(LPVOID)sclient,0,&sthreadid);
if(hcthread == NULL)
{
printf("Error in thread creation");
}
else
threadarray.Add(hcthread);
}

return 0;
}

int startserver()
{
SOCKET sock;
SOCKADDR_IN saddress;
WSADATA wsadata;
DWORD threadid;
DWORD result;
int iAddrSize;

iAddrSize = sizeof(saddress);
result = WSAStartup(MAKEWORD(2,2),&wsadata);
if(result != 0)
{
printf("Startup failed");
}

sock = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
if(sock == INVALID_SOCKET)
{
printf("invalid socket");
}

saddress.sin_family = AF_INET;
saddress.sin_addr.s_addr = inet_addr("10.95.10.217");
saddress.sin_port = htons(1023);

if(bind(sock,(PSOCKADDR)&saddress,sizeof(saddress))== SOCKET_ERROR)
{
printf("Error in binding");
}

hthread = CreateThread(NULL,0,&sthread,(LPVOID)sock,0,&threadid);
if(hthread == NULL)
{
printf("Error in thread creation");
return 1;
}
return 0;

}

int stopserver()
{
for(int ccount = 0;ccount <= threadarray.GetUpperBound();ccount++)
{
printf("client closing %d",ccount);
CloseHandle(threadarray.GetAt(ccount));
}
CloseHandle(hthread);
return 0;
}

void main()
{
hstopevent = CreateEvent(NULL,TRUE,FALSE,"network");
startserver();
stopserver();
getch();
}
this what i have done..
GeneralRe: multithreading + winsock Pin
David Crow18-Jan-06 4:25
David Crow18-Jan-06 4:25 
GeneralRe: multithreading + winsock Pin
yamunasenthilvel18-Jan-06 4:33
yamunasenthilvel18-Jan-06 4:33 
AnswerRe: multithreading + winsock Pin
ThatsAlok18-Jan-06 23:47
ThatsAlok18-Jan-06 23:47 
QuestionEditBox, Selected Text, Clipboard, Ctrl-C Pin
cy163@hotmail.com18-Jan-06 1:55
cy163@hotmail.com18-Jan-06 1:55 
AnswerRe: EditBox, Selected Text, Clipboard, Ctrl-C Pin
toxcct18-Jan-06 2:17
toxcct18-Jan-06 2:17 
GeneralRe: EditBox, Selected Text, Clipboard, Ctrl-C Pin
Rajesh R Subramanian18-Jan-06 2:36
professionalRajesh R Subramanian18-Jan-06 2:36 
GeneralRe: EditBox, Selected Text, Clipboard, Ctrl-C Pin
David Crow18-Jan-06 2:51
David Crow18-Jan-06 2:51 
GeneralRe: EditBox, Selected Text, Clipboard, Ctrl-C Pin
Maximilien18-Jan-06 2:59
Maximilien18-Jan-06 2:59 
GeneralRe: EditBox, Selected Text, Clipboard, Ctrl-C Pin
ThatsAlok18-Jan-06 23:53
ThatsAlok18-Jan-06 23:53 
GeneralRe: EditBox, Selected Text, Clipboard, Ctrl-C Pin
Rajesh R Subramanian18-Jan-06 17:44
professionalRajesh R Subramanian18-Jan-06 17:44 
GeneralRe: EditBox, Selected Text, Clipboard, Ctrl-C Pin
Shraddhan22-Jan-06 19:51
Shraddhan22-Jan-06 19:51 
GeneralRe: EditBox, Selected Text, Clipboard, Ctrl-C Pin
cy163@hotmail.com23-Jan-06 5:22
cy163@hotmail.com23-Jan-06 5:22 
QuestionHigh Precision DataTypes and MFC Pin
_psh_18-Jan-06 0:44
_psh_18-Jan-06 0:44 
AnswerRe: High Precision DataTypes and MFC Pin
toxcct18-Jan-06 1:01
toxcct18-Jan-06 1:01 
GeneralRe: High Precision DataTypes and MFC Pin
Garth J Lancaster18-Jan-06 1:57
professionalGarth J Lancaster18-Jan-06 1:57 
AnswerRe: High Precision DataTypes and MFC Pin
Garth J Lancaster18-Jan-06 1:53
professionalGarth J Lancaster18-Jan-06 1:53 
GeneralRe: High Precision DataTypes and MFC Pin
_psh_18-Jan-06 3:09
_psh_18-Jan-06 3:09 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.