⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 3-4.html

📁 介绍各种平台进行SOCKET编程的好东东。
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<P ALIGN="JUSTIFY">{</P>
<P ALIGN="JUSTIFY">    wsprintf(prbuf,"         \n");</P>
<P ALIGN="JUSTIFY">    SetDlgItemText(hOurDlg, IDD_WRITE, (LPSTR) prbuf);</P>
<P ALIGN="JUSTIFY">    SetDlgItemText(hOurDlg, IDD_SENT, (LPSTR) prbuf);</P>
<P ALIGN="JUSTIFY">    SetDlgItemText(hOurDlg, IDD_TIME, (LPSTR) prbuf);</P>
<P ALIGN="JUSTIFY">    SetDlgItemText(hOurDlg, IDD_WRITES,(LPSTR) prbuf);</P>
<P ALIGN="JUSTIFY">    SetDlgItemText(hOurDlg, IDD_BYTES, (LPSTR) prbuf);</P>
<P ALIGN="JUSTIFY">    SetDlgItemText(hOurDlg, IDD_BITS,  (LPSTR) prbuf);</P>
<P ALIGN="JUSTIFY">    </P>
<P ALIGN="JUSTIFY">    return;</P>
<P ALIGN="JUSTIFY">}</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/*</P>
<P ALIGN="JUSTIFY"> * wshout_err()</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>函数</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY"> * </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>描述</FONT><FONT SIZE=3>:</P>
<P ALIGN="JUSTIFY"> *</P>
<P ALIGN="JUSTIFY"> * </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>通过错误代码获取相应的错误描述文本,与用户提供的错误前缀合</FONT><FONT SIZE=3> </P>
<P ALIGN="JUSTIFY"> * </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>并,并显示在对话框中。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY"> */</P>
<P ALIGN="JUSTIFY">void wshout_err (HWND hOurDlg, /* </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>对话框的窗口句柄</FONT><FONT SIZE=3> */</P>
<P ALIGN="JUSTIFY">&#9;&#9; int wsa_err,           /* WinSock</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>错误代码</FONT><FONT SIZE=3> */</P>
<P ALIGN="JUSTIFY">&#9;&#9; char far *err_prefix)  /* </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>错误前缀字符串</FONT><FONT SIZE=3> */</P>
<P ALIGN="JUSTIFY">{</P>
<P ALIGN="JUSTIFY">&#9;char errbuf[PRBUF_LEN];&#9; /* </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>错误描述字符串缓冲区</FONT><FONT SIZE=3> */</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">        /* </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>获取错误描述字符串</FONT><FONT SIZE=3> */</P>
<P ALIGN="JUSTIFY">&#9;WSAsperror(hInst, wsa_err, (LPSTR)errbuf, PRBUF_LEN);</P>
<P ALIGN="JUSTIFY">&#9;    </P>
<P ALIGN="JUSTIFY">&#9;/* </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>合并错误描述字符串与用户错误前缀字符串</FONT><FONT SIZE=3> */    </P>
<P ALIGN="JUSTIFY">&#9;wsprintf((LPSTR)prbuf, "%s:%s", (LPSTR) err_prefix, (LPSTR)errbuf);</P>
<P ALIGN="JUSTIFY">    </P>
<P ALIGN="JUSTIFY">&#9;/* </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>在对话框中显示错误文本</FONT><FONT SIZE=3> */</P>
<P ALIGN="JUSTIFY">&#9;SetDlgItemText(hOurDlg, IDD_COMMENT, (LPSTR) prbuf);</P>
<P ALIGN="JUSTIFY">&#9;</P>
<P ALIGN="JUSTIFY">}  /* end wshout_err() */</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY">/* eof */</P>
<P ALIGN="JUSTIFY"> </P>
</FONT><B><FONT FACE="黑体" LANG="ZH-CN" SIZE=4><P><A NAME="_Toc336792892"><A NAME="_Toc336793368"></FONT><FONT FACE="Arial" SIZE=4>3.4.3.2 wshout.h</FONT><FONT FACE="黑体" LANG="ZH-CN" SIZE=4>清单</A></A></P>
</B></FONT><FONT SIZE=3><P ALIGN="JUSTIFY">/*</P>
<P ALIGN="JUSTIFY"> * </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>文件名</FONT><FONT SIZE=3>: WSHOUT.H</P>
<P ALIGN="JUSTIFY"> */</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">#ifndef _WSHOUT_INC_</P>
<P ALIGN="JUSTIFY">#define _WSHOUT_INC_</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/* Windows 3.0 </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>头文件</FONT><FONT SIZE=3> */</P>
<P ALIGN="JUSTIFY">#include &lt;windows.h&gt;</P>
<P ALIGN="JUSTIFY">#define _INC_WINDOWS</P>
<P ALIGN="JUSTIFY">#include &lt;winsock.h&gt;</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">#ifdef __cplusplus</P>
<P ALIGN="JUSTIFY">extern "C" {</P>
<P ALIGN="JUSTIFY">#endif /* __cplusplus */</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY">/* WSHOUT.C </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>中定义的全局变量</FONT><FONT SIZE=3> */</P>
<P ALIGN="JUSTIFY">extern&#9;HANDLE&#9;hInst;&#9;&#9;&#9;/* Instance handle */</P>
<P ALIGN="JUSTIFY">extern&#9;HWND&#9;hOurWnd;&#9;&#9;/* Main Window Handle */</P>
<P ALIGN="JUSTIFY">extern&#9;int&#9;ret;&#9;&#9;&#9;/* work variable */</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">#define PRBUF_LEN&#9;50</P>
<P ALIGN="JUSTIFY">extern&#9;char&#9;prbuf[PRBUF_LEN];&#9;/* work buffer */</P>
</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY"></P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">/* </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>菜单</FONT><FONT SIZE=3>IDs&#9;*/</P>
<P ALIGN="JUSTIFY">#define IDM_START&#9;101</P>
<P ALIGN="JUSTIFY">#define IDM_ABOUT&#9;102</P>
<P ALIGN="JUSTIFY">#define IDM_STOP&#9;103</P>
<P ALIGN="JUSTIFY">#define IDM_EXIT&#9;104</P>
<P ALIGN="JUSTIFY">#define IDM_SETTINGS&#9;105</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/* </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>对话框控制</FONT><FONT SIZE=3>IDs&#9;*/</P>
<P ALIGN="JUSTIFY">#define IDD_HNAME&#9;200</P>
<P ALIGN="JUSTIFY">#define IDD_CONNECT&#9;IDOK</P>
<P ALIGN="JUSTIFY">#define IDD_CANCEL&#9;IDCANCEL</P>
<P ALIGN="JUSTIFY">#define IDD_WRITES&#9;208</P>
<P ALIGN="JUSTIFY">#define IDD_BYTES&#9;210</P>
<P ALIGN="JUSTIFY">#define IDD_BITS&#9;212</P>
<P ALIGN="JUSTIFY">#define IDD_HELP&#9;214</P>
<P ALIGN="JUSTIFY">#define IDD_SENT&#9;230</P>
<P ALIGN="JUSTIFY">#define IDD_WRITE&#9;232</P>
<P ALIGN="JUSTIFY">#define IDD_TIME&#9;234</P>
<P ALIGN="JUSTIFY">#define IDD_COMMENT&#9;236</P>
<P ALIGN="JUSTIFY">#define IDD_COHOST&#9;240</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/* </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>“</FONT><FONT SIZE=3>Settings</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>”对话框控制</FONT><FONT SIZE=3>IDs&#9;*/</P>
<P ALIGN="JUSTIFY">#define IDS_BUFFLEN&#9;300</P>
<P ALIGN="JUSTIFY">#define IDS_PORTNO&#9;301</P>
<P ALIGN="JUSTIFY">#define IDS_BLOCK&#9;302</P>
<P ALIGN="JUSTIFY">#define IDS_NOBLOCK&#9;304</P>
<P ALIGN="JUSTIFY">#define IDS_TCP&#9;&#9;306</P>
<P ALIGN="JUSTIFY">#define IDS_UDP&#9;&#9;308</P>
<P ALIGN="JUSTIFY">#define IDS_CLIENT&#9;310</P>
<P ALIGN="JUSTIFY">#define IDS_SERVER&#9;312</P>
<P ALIGN="JUSTIFY">#define IDS_DEFAULT&#9;314</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/* </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>“</FONT><FONT SIZE=3>About</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>”对话框控制</FONT><FONT SIZE=3>IDs&#9;*/</P>
<P ALIGN="JUSTIFY">#define IDA_COPYRIGHT&#9;400</P>
<P ALIGN="JUSTIFY">#define IDA_APP_VERSION&#9;402</P>
<P ALIGN="JUSTIFY">#define IDA_DLL_VERSION&#9;404</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/* </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>程序控制</FONT><FONT SIZE=3>IDs&#9;*/</P>
<P ALIGN="JUSTIFY">#define&#9;WM_SELECT&#9;&#9;WM_USER+16</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/* </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>全局变量</FONT><FONT SIZE=3>*/</P>
<P ALIGN="JUSTIFY">#define&#9;SOCK_DISCARD&#9;9&#9;/* use the UDP ttytst source port for test */</P>
<P ALIGN="JUSTIFY">#define SOCK_SHOUT&#9;32766&#9;/* TCP port used for SHOUT &amp; LISTEN&#9;   */</P>
<P ALIGN="JUSTIFY">#define BUF_SIZE&#9;8192</P>
<P ALIGN="JUSTIFY">#define WRITE_TIMER&#9;1</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/* </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>函数原型</FONT><FONT SIZE=3> */</P>
<P ALIGN="JUSTIFY">int PASCAL WinMain(HANDLE, HANDLE, LPSTR, int);</P>
<P ALIGN="JUSTIFY">long FAR PASCAL ShoutWndProc(HWND, WORD, WORD, LONG);</P>
<P ALIGN="JUSTIFY">BOOL FAR PASCAL About(HWND, WORD, WORD, LONG);</P>
<P ALIGN="JUSTIFY">BOOL FAR PASCAL DialogProc(HWND, WORD, WORD, LONG);</P>
<P ALIGN="JUSTIFY">BOOL FAR PASCAL Settings(HWND, WORD, WORD, LONG);</P>
<P ALIGN="JUSTIFY">BOOL InitApp(HANDLE);</P>
<P ALIGN="JUSTIFY">void CheckThisBoxOn(HWND, int);</P>
<P ALIGN="JUSTIFY">void CheckThisProtoBoxOn(HWND, int);</P>
<P ALIGN="JUSTIFY">void CheckThisProgBoxOn(HWND, int);</P>
<P ALIGN="JUSTIFY">void ClearBoxes(HWND);</P>
<P ALIGN="JUSTIFY">SOCKET ResolveAndConnectHost(LPSTR, HWND, int, int);</P>
<P ALIGN="JUSTIFY">SOCKET GetSocketAndBind(HWND, int, int); </P>
<P ALIGN="JUSTIFY">long UWriteData(SOCKET, HWND, int);</P>
<P ALIGN="JUSTIFY">long UReadData(SOCKET, HWND, int);</P>
<P ALIGN="JUSTIFY">long TWriteData(SOCKET, HWND, int);</P>
<P ALIGN="JUSTIFY">long TReadData(SOCKET, HWND, int);</P>
<P ALIGN="JUSTIFY">int ShoutBlockingHook (void);</P>
<P ALIGN="JUSTIFY">int PASCAL FAR WSAsperror (HANDLE, int, char far *, int);</P>
<P ALIGN="JUSTIFY">void wshout_err (HWND, int, char far *);</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">#define bcopy(a,b,c)&#9;_fmemcpy(b,a,c)</P>
<P ALIGN="JUSTIFY">char * _calloc (unsigned, unsigned);</P>
<P ALIGN="JUSTIFY">void _free (void *);</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">#ifdef _cplusplus</P>
<P ALIGN="JUSTIFY">}</P>
<P ALIGN="JUSTIFY">#endif /* __cplusplus */</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">#endif /* ifndef _WSHOUT_INC_ */</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/* eof */</P>
<P ALIGN="JUSTIFY"> </P>
</FONT><B><FONT FACE="黑体" LANG="ZH-CN" SIZE=4><P><A NAME="_Toc336792893"><A NAME="_Toc336793369"></FONT><FONT FACE="Arial" SIZE=4>3.4.3.3 wshout.rc</FONT><FONT FACE="黑体" LANG="ZH-CN" SIZE=4>清单</A></A></P>
</B></FONT><FONT SIZE=3><P ALIGN="JUSTIFY">/*</P>
<P ALIGN="JUSTIFY"> * </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>文件名</FONT><FONT SIZE=3>: WSHOUT.RC</P>
<P ALIGN="JUSTIFY"> */</P>
<P ALIGN="JUSTIFY">#include &lt;windows.h&gt;</P>
<P ALIGN="JUSTIFY">#include &lt;winsock.h&gt;</P>
<P ALIGN="JUSTIFY">#include "wshout.h"</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">MainMenu MENU </P>
<P ALIGN="JUSTIFY">BEGIN</P>
</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">&#9;</FONT><FONT SIZE=3>POPUP "&amp;File"</P>
<P ALIGN="JUSTIFY">&#9;BEGIN</P>
<P ALIGN="JUSTIFY">&#9;&#9;MENUITEM "&amp;Start", IDM_START</P>
<P ALIGN="JUSTIFY">&#9;&#9;MENUITEM "Sto&amp;p", IDM_STOP</P>
<P ALIGN="JUSTIFY">&#9;&#9;MENUITEM SEPARATOR</P>
<P ALIGN="JUSTIFY">&#9;&#9;MENUITEM "E&amp;xit", IDM_EXIT</P>
</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">&#9;</FONT><FONT SIZE=3>END</P>
</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">&#9;</FONT><FONT SIZE=3>POPUP "&amp;Options"</P>
</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">&#9;</FONT><FONT SIZE=3>BEGIN</P>
<P ALIGN="JUSTIFY">&#9;&#9;MENUITEM "&amp;Settings ...", IDM_SETTINGS</P>
<P ALIGN="JUSTIFY">&#9;&#9;MENUITEM SEPARATOR</P>
<P ALIGN="JUSTIFY">&#9;&#9;MENUITEM "&amp;About Shout...", IDM_ABOUT</P>
</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">&#9;</FONT><FONT SIZE=3>END</P>
</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY"></P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">END</P>
</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY"></P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">ABOUTBOX DIALOG 22, 17, 144, 102</P>
<P ALIGN="JUSTIFY">CAPTION "About Shout for Windows"</P>
<P ALIGN="JUSTIFY">STYLE DS_MODALFRAME | WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU</P>
<P ALIGN="JUSTIFY">BEGIN</P>
<P ALIGN="JUSTIFY">&#9;CTEXT "Windows Shout", -1, 29, 5, 85, 8</P>
<P ALIGN="JUSTIFY">&#9;CTEXT "Version", -1, 46, 13, 33, 8, SS_CENTER | WS_GROUP</P>
<P ALIGN="JUSTIFY">&#9;CTEXT "WINSOCK.DLL \n FTP Software, Inc. \nCopyright 1993", IDA_COPYRIGHT, 38, 40, 68, 25, SS_CENTER | WS_GROUP</P>
<P ALIGN="JUSTIFY">&#9;CTEXT "Version", -1, 46, 67, 33, 8, SS_CENTER | WS_GROUP</P>
<P ALIGN="JUSTIFY">&#9;CTEXT "num", IDA_DLL_VERSION, 79, 67, 18, 8, SS_CENTER | WS_GROUP</P>
<P ALIGN="JUSTIFY">&#9;CONTROL "OK", 1, "BUTTON", BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP, 56, 82, 32, 14</P>
</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">&#9;</FONT><FONT SIZE=3>ICON "SHOUT", -1, 11, 8, 16, 16</P>
</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">&#9;</FONT><FONT SIZE=3>CONTROL "num", IDA_APP_VERSION, "STATIC", SS_LEFT | WS_GROUP, 79, 13, 18, 8</P>
<P ALIGN="JUSTIFY">&#9;CONTROL "using", -1, "STATIC", SS_CENTER | WS_GROUP, 55, 26, 30, 8</P>
<P ALIGN="JUSTIFY">END</P>
</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY"></P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">SettingsDialog DIALOG 9, 16, 172, 117</P>
<P ALIGN="JUSTIFY">CAPTION "Settings"</P>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -