|
Sure it is very important to check whether your socket is valid, e.g. bind() could fail if another application is already listening on a port your app wants to listen on.
I'd suggest you to check the return values of all socket functions. And since you're building a wrapper class around the socket functions you could make the wrapper functions return e.g. a bool true, if a function succeeds, and "false" if it doesn't.
regards
modified 12-Sep-18 21:01pm.
|
|
|
|
|
Okay, thank you... I was not sure if I made to mucg error checks that were not necessary!
But okay, then I need to update my wrapper class with error checks!
Rickard Andersson@Suza Computing
C# and C++ programmer from SWEDEN!
UIN: 50302279
E-Mail: nikado@pc.nu
Speciality: I love C#, ASP.NET and C++!
|
|
|
|
|
When ever I perform a Create, Connect, Listen, Send etc... I allways use this.. I provides a little more info.. Make sure you get all the correct error codes from Microsoft.. but here is a connect sample..
pSocket.Connect((LPCTSTR(strAddress), iPort);
int nErrorCode = WSAGetLastError();
if (nErrorCode != 0)
{
switch( nErrorCode )
{
case WSAENETDOWN:
AfxMessageBox("The Windows Sockets implementation detected that the network subsystem failed.");
break;
case WSAEACCES:
AfxMessageBox("The requested address is a broadcast address, but the appropriate flag was not set.");
break;
case WSAEINPROGRESS:
AfxMessageBox("A blocking Windows Sockets operation is in progress.");
break;
case WSAEFAULT:
AfxMessageBox("The lpBuf argument is not in a valid part of the user address space.");
break;
case WSAENETRESET:
AfxMessageBox("The connection must be reset because the Windows Sockets implementation dropped it.");
break;
case WSAENOBUFS:
AfxMessageBox("The Windows Sockets implementation reports a buffer deadlock.");
break;
case WSAENOTCONN:
AfxMessageBox("The socket is not connected.");
break;
case WSAENOTSOCK:
AfxMessageBox("The descriptor is not a socket.");
break;
case WSAEOPNOTSUPP:
AfxMessageBox("MSG_OOB was specified, but the socket is not of type SOCK_STREAM.");
break;
case WSAESHUTDOWN:
AfxMessageBox("The socket has been shut down; it is not possible to call Send on a socket after ShutDown has been invoked with nHow set to 1 or 2.");
break;
case WSAEWOULDBLOCK:
AfxMessageBox("The socket is marked as nonblocking and the requested operation would block.");
break;
case WSAEMSGSIZE:
AfxMessageBox("The socket is of type SOCK_DGRAM, and the datagram is larger than the maximum supported by the Windows Sockets implementation.");
break;
case WSAEINVAL:
AfxMessageBox("The socket has not been bound with Bind.");
break;
case WSAECONNABORTED:
AfxMessageBox("The virtual circuit was aborted due to timeout or other failure.");
break;
case WSAECONNRESET:
AfxMessageBox("The virtual circuit was reset by the remote side.");
break;
default:
TCHAR szError[256];
wsprintf(szError, "OnConnect error: %d", nErrorCode);
AfxMessageBox(szError);
break;
}
}
You get the idea..
|
|
|
|
|
i've developed a small program using ODBC database support. The database that the program uses is made in access 2000. i tested it at home without any problems.
But when i tried to run it on another machine, running access 97, a very vage error popped up saying 'unknown' and nothing else.
I've tried converting the database to an access 97 database, no luck. Making a new database using access 97 was without success either. i believe my odbc settings are correct.
Has anybody had this problem before, or thinks he knows what the problem is?
thanx in advance.
|
|
|
|
|
Access changes with every version. You should create your DB from the lowest version you think your users might have. You may be able to get it to work with the latest MDAC from Microsoft ( 2.7 ).
Christian
No offense, but I don't really want to encourage the creation of another VB developer. - Larry Antram 22 Oct 2002
Hey, at least Logo had, at it's inception, a mechanical turtle. VB has always lacked even that... - Shog9 04-09-2002
During last 10 years, with invention of VB and similar programming environments, every ill-educated moron became able to develop software. - Alex E. - 12-Sept-2002
|
|
|
|
|
I recently modified an app such that instead of it being SDI, it is now an MDI app. An unintended consequence of this change is that some combo box controls in a few dialogs now have developed some odd behaviour, even though the code associatted with the dialogs has not been touched at all. Essentially if the dialog handles the ON_CBN_SELCHANGE message and in processing this message a CWaitCursor is instantiated, when the method exits, the cursor is not restored. This only happens though if the user is using the keyboard to 'surf' through the drop down list. ie. PageDown/PageUp, DownArrow/UpArrow, etc. Now for the really weird part. Even though the hourglass is displayed, the drop down window still accepts the mouse input. So that clicking with the hourglass over some other entry actually causes that entry to be selected.
I'm presently trying to duplicate the odd behaviour outside of all of the applications environment, but so far unsuccessfully. Additionally I think the SDI to MDI switch is a bit of a red herring, but I'm not sure.
Thanks.
Chris Meech
|
|
|
|
|
Finally found some code that was added during the SDI to MDI switch that was the culprit. Just had to spend enough time searching through the VSS diff's.
Chris
|
|
|
|
|
I have an MFC application that gets poked by a remote app and shows a modal dialog. I want the modal dialog to make itself the active application and give itself focus.
Is this possible?
J
|
|
|
|
|
Check this out:
http://www.codeproject.com/dialog/dlgboxtricks.asp[^]
Shog9
------
Rather hammer futiley at the locked door than just sit and ignore it. Obviously finding a way to get through the locked door would be even better though. - Paul Watson, My Ignorance
|
|
|
|
|
Thanks Shog. SetForegroundWindow() was what I needed.
J
|
|
|
|
|
We have boundschecker and we have a lot of workspaces with projects in it. So we normaly use a .bat file to compile all of our workspaces. But now I've boundschecker and I want the same type of compiling with a bat file.
Does anyone have any idea how I can create a bat file witch will build all my workspaces at once with boundschecker integration.
Le Ridder Noir
Considderd to be the worlds fastest knoppenbonker.
one year of working experience with the worlds fastest copie paster(about 2000 lines a minute).
And experience with the one and only NewEra Guru and Crystal Ace.
|
|
|
|
|
Does anyone use languages other than english in vc.net?
How can I use charachter other than english in VC.NET?I install farsi on my windows xp but I can't use them in VC.I get ??? in place of charachters.
Mazy
"And the carpet needs a haircut, and the spotlight looks like a prison break
And the telephone's out of cigarettes, and the balcony is on the make
And the piano has been drinking, the piano has been drinking...not me...not me-Tom Waits
|
|
|
|
|
Tried Russian - no problem. VS.NET is a true Unicode application. Check if there's something else misconfigured on your machine.
Vagif Abilov
MCP (Visual C++)
Oslo, Norway
Hex is for sissies. Real men use binary. And the most hardcore types use only zeros - uppercase zeros and lowercase zeros.
Tomasz Sowinski
|
|
|
|
|
Thanks for reply.I'll try another language,but I don't think it is some thing misconfigurated on my windows,because I don't have problem in C#,it is only in VC.I changed the language culture in project setting to Farsi too,but there is no change.
Mazy
"And the carpet needs a haircut, and the spotlight looks like a prison break
And the telephone's out of cigarettes, and the balcony is on the make
And the piano has been drinking, the piano has been drinking...not me...not me-Tom Waits
|
|
|
|
|
Even with Unicode, not all fonts support all characters... it is just too much work for the average font maker to put in every single character. It could be that the right fonts aren't installed on your machine..
I guess it depends - are you saying the ?? characters show up in the VC.NET IDE, or in your program's output/windows? If the former, I suppose you can probably change the fonts in VC.NET to ones that support Farsi. If it is your app, make sure it is being compiled in Unicode mode, and, again, that it is using fonts that have all the necessary characters.
Hope that helps.
Even a broken clock is right twice a day.
|
|
|
|
|
I don't know where is IDE. but when I write them in 'properties' it is ok,but in the dialog bar it shows ????.I compile with Unicode option too.
Mazy
"And the carpet needs a haircut, and the spotlight looks like a prison break
And the telephone's out of cigarettes, and the balcony is on the make
And the piano has been drinking, the piano has been drinking...not me...not me-Tom Waits
|
|
|
|
|
Hi dear Mazdak,
Trust me, It's not Unicode problem !
As i told you before i installed VS .NET on a computer without any problem.
I install Farsi as non-Unicode.
I've same problem with you in my pc in home
Is it M$ bug ?
My month article: Game programming by DirectX by Lan Mader.
Please visit in: www.geocities.com/hadi_rezaie/index.html
Hadi Rezaie
|
|
|
|
|
Hi Hadi:
Hadi_Rezaie wrote:
As i told you before i installed VS .NET on a computer without any problem.
I install Farsi as non-Unicode.
So you install farsi version?! You can do it at work?How?
Mazy
"And the carpet needs a haircut, and the spotlight looks like a prison break
And the telephone's out of cigarettes, and the balcony is on the make
And the piano has been drinking, the piano has been drinking...not me...not me-Tom Waits
|
|
|
|
|
I used ULTRA-POWER :P
I don't know really !
I think VS .NET is intelligent, It could understand when you install it at work
But i've same problem at home
Regards,
My month article: Game programming by DirectX by Lan Mader.
Please visit in: www.geocities.com/hadi_rezaie/index.html
Hadi Rezaie
|
|
|
|
|
But can't you select you language in the Wizard?
But you'll need the right language file I think then!
Rickard Andersson@Suza Computing
C# and C++ programmer from SWEDEN!
UIN: 50302279
E-Mail: nikado@pc.nu
Speciality: I love C#, ASP.NET and C++!
|
|
|
|
|
Rickard Andersson wrote:
But can't you select you language in the Wizard?
Nope.But I can choose culture in project options.
Rickard Andersson wrote:
But you'll need the right language file I think then!
Well,thats true in ASP.NET but I don't know about VC>
Mazy
"And the carpet needs a haircut, and the spotlight looks like a prison break
And the telephone's out of cigarettes, and the balcony is on the make
And the piano has been drinking, the piano has been drinking...not me...not me-Tom Waits
|
|
|
|
|
Mazdak wrote:
Nope.But I can choose culture in project options
What the heck?
Where do you do that? And what kind of project are you crteating?
Rickard Andersson@Suza Computing
C# and C++ programmer from SWEDEN!
UIN: 50302279
E-Mail: nikado@pc.nu
Speciality: I love C#, ASP.NET and C++!
|
|
|
|
|
Rickard Andersson wrote:
Where do you do that? And what kind of project are you crteating?
MFC application project.In Resources--->General---->Culture
Mazy
"And the carpet needs a haircut, and the spotlight looks like a prison break
And the telephone's out of cigarettes, and the balcony is on the make
And the piano has been drinking, the piano has been drinking...not me...not me-Tom Waits
|
|
|
|
|
Okay, then it must be the same I meant when I said "select your language".
Rickard Andersson@Suza Computing
C# and C++ programmer from SWEDEN!
UIN: 50302279
E-Mail: nikado@pc.nu
Speciality: I love C#, ASP.NET and C++!
|
|
|
|
|
Hello I need your expert help. I am trying to make my app to auto hide on start up. Here are part of the code..
CTestDlg.h
----------
I put this on the message map.
afx_msg void OnWindowPosChanging(WINDOWPOS* lpwndpos);
CTestDlg.cpp
------------
I put the following line in BEGIN_MESSAGE_MAP(CTestDlg, CDialog)
ON_WM_WINDOWPOSCHANGING()
And have the following function
void CTestDlg::OnWindowPosChanging (WINDOWPOS* lpwndpos)
{
CDialog::OnWindowPosChanging(lpwndpos);
if (lpwndpos->flags & SWP_SHOWWINDOW) {
lpwndpos->flags &= ~SWP_SHOWWINDOW;
}
}
It compile without any error but when I run the program the dialog are still visible. Any ideas?
Thank you very much.
|
|
|
|