1.JAVA Socket编程和C++Socket编程有什么不同

2.vc就是c语言吗?

3.C++语言之所以难学,就是因为字符串太多了!

4.C语言头文件,conio.h,windows.h,string.h,math.h各有什么用?

5.我在用C++进行winsock编程的时候经常会用到String^,IOException^,System::Object^...等等,请问这些都是什

winsock在哪_winsock是什么语言

WPE(Winsock Packet Editor)

它的中文名称是:网络封包编辑器

在大多数的变成工具中winsock已经封装成一个控件,成为网络变成的控件,是非常方便的,利用这个控件,变成工具就可以编写工具,例如使用VB就可以非常容易地编写出很出色的。(顺便打个广告:本教材也有使用VB编写教材,注册后就可以学习,利用VB编写比WPE编写的多出很多优点,例如,可以编写注册功能,使你做的让别人使用时必须注册才能使用,WPE做出来的是任何人得到了就可以使用,不能实现限制使用,并且VB对键盘鼠标的控制,对系统的控制都很出色,VB是visial basic 的意思,就是可视化依据basic语言的编程工具,Basic本身就是基本的的意思,是很简单的语言,但是功能却是非常强大,建议大家学习)

现在,WPE有两个版本,分别是:WPE1.3和WPE pro0.7 前者是使用与win98操作平台,后者适用与win200和winXP操作系统。都有中文版。

JAVA Socket编程和C++Socket编程有什么不同

套接字(Socket),就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。

一个套接字就是网络上进程通信的一端,提供了应用层进程利用网络协议交换数据的机制。从所处的地位来讲,套接字上联应用进程,下联网络协议栈,是应用程序通过网络协议进行通信的接口,是应用程序与网络协议根进行交互的接口。

套接字是通信的基石,是支持TCP/IP协议的路通信的基本操作单元。

可以将套接字看作不同主机间的进程进行双间通信的端点,它构成了单个主机内及整个网络间的编程界面。套接字存在于通信域中,通信域是为了处理一般的线程通过套接字通信而引进的一种抽象概念。

套接字通常和同一个域中的套接字交换数据(数据交换也可能穿越域的界限,但这时一定要执行某种解释程序),各种进程使用这个相同的域互相之间用Internet协议簇来进行通信。

Socket(套接字)可以看成是两个网络应用程序进行通信时,各自通信连接中的端点,这是一个逻辑上的概念。它是网络环境中进程间通信的API(应用程序编程接口),也是可以被命名和寻址的通信端点,使用中的每一个套接字都有其类型和一个与之相连进程。

通信时其中一个网络应用程序将要传输的一段信息写入它所在主机的 Socket中,该 Socket通过与网络接口卡(NIC)相连的传输介质将这段信息送到另外一台主机的 Socket中,使对方能够接收到这段信息。?

Socket是由IP地址和端口结合的,提供向应用层进程传送数据包的机制。

类型

1、数据报套接字

无连接套接字,使用用户数据报协议(UDP)。在数据报套接字上发送或接收的每个数据包都单独寻址和路由。数据报套接字不能保证顺序和可靠性,因此从一台机器或进程发送到另一台机器或进程的多个数据包可能以任何顺序到达或可能根本不到达。在数据报套接字上发送广播可能需要特殊配置。

为了接收广播数据包,数据报套接字不应该绑定到特定地址,尽管在某些实现中,当数据报套接字绑定到特定地址时也可能接收广播数据包。

2、流套接字

面向连接的套接字,使用传输控制协议(TCP)、流控制传输协议(SCTP) 或数据报拥塞控制协议(DCCP)。流套接字提供了无记录边界的有序且独特的无错误数据流,并具有用于创建和销毁连接以及报告错误的明确定义的机制。

流套接字以带外功能可靠地、有序地传输数据。在 Internet 上,流套接字通常使用 TCP 实现,以便应用程序可以使用 TCP/IP 协议在任何网络上运行。

3、原始套接字

允许直接发送和接收 IP 数据包,无需任何特定于协议的传输层格式。对于其他类型的套接字,根据选择的传输层协议(例如 TCP、UDP)自动封装有效载荷,并且套接字用户不知道与有效载荷一起广播的协议头的存在。从原始套接字读取时,通常包含标头。

从原始套接字传输数据包时,自动添加标头是可选的。

大多数套接字应用程序编程接口(API),例如基于Berkeley 套接字的那些,支持原始套接字。Windows XP于 2001 年发布,在Winsock接口中实现了原始套接字支持,但三年后,微软出于安全考虑限制了 Winsock 的原始套接字支持。

原始套接字用于与安全相关的应用程序,如Nmap。原始套接字的一个用例是在用户空间中实现新的传输层协议。

原始套接字通常在网络设备中可用,用于路由协议,例如Internet 组管理协议(IGMP) 和开放最短路径优先(OSPF),以及用于Internet 控制消息协议(ICMP) 等事情,由ping 实用程序。

以上内容参考?百度百科-套接字

vc就是c语言吗?

Socket

是winsock里的原始套接字开发接口API,c++/java

他们是开发语言,而

socket

是一种通讯标准简称。

首先,2者提供的接口不同(主要是封装形式不同),java

本身不带socket通讯底层实现的,而是通过调用系统底层的winsock

API

进行的二次封装,而c/c++

的socket可以理解为

更接近

系统层面的winsock,所以c/c++

的socket

可以提供

更多的底层扩展与控制。

其次,从语言上讲,用JAVA发开出来的socket程序

可以在任何支持JAVA虚拟机上运行,不用修改任何代码。而

C/c++

要根据系统特性进行适当的修改。

C++语言之所以难学,就是因为字符串太多了!

VC定义:Microsoft Visual C++,(简称Visual C++、MSVC、VC++或VC)是Microsoft公司推出的开发Win32环境程序,面向对象的可视化集成编程系统。

Visual C++特点:

1.程序框架自动生成。

2.灵活方便的类管理。

3.代码编写和界面设计集成交互操作。

4.可开发多种程序。

5.通过简单的设置就可使其生成的程序框架支持数据库接口、OLE2,WinSock网络、3D控制界面。

C语言定义:一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

C语言特点:

1.C语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程式语言。

2.C语言传递参数均是以值传递(pass by value),另外也可以传递指针(a pointer passed by value)。

3.不同的变量类型可以用结构体(struct)组合在一起。

4.只有32个保留字(reserved keywords),使变量、函数命名有更多弹性。

5.部份的变量类型可以转换,例如整型和字符型变量。

6.通过指针(pointer),C语言可以容易的对存储器进行低级控制。

7.预编译处理(preprocessor)让C语言的编译更具有弹性。

C语言头文件,conio.h,windows.h,string.h,math.h各有什么用?

你学C++要循序渐进啊。

别把基本类型,指针,const类型,STL甚至是win32平台特性混为一谈

LPCSTR LPCTSTR这些都是方便win32平台开发提供的宏,管C++啥事。

我来告诉你C++的主要部分吧。从低到高:

1.asm 内联汇编

2.C语言部分

3.面向对象的编程:类和继承

4.C++语言高级特性(引用,操作符重载,函数对象,异常等等)

5.模板编程,元编程

6.C++标准库:STL BOOST等

C++是最强大完美的语言,每一细节都需要我们认真领会,一口气从C++吞到win32平台开发。说明你的学习方法也太糟糕了。

还有char*是不可以转换成char[]的。如果你要reinterpret_cast,编译器不再提醒编译时错误。

并且你当你熟练掌握以上后,仍然写不出任何有价值的软件.因为你要操纵你的电脑,你需要熟悉平台接口,而最常见的的是win32平台,而win32开发,必须掌握的至少有四大类API

.用户界面(包含窗口,消息,钩子,各种控件,资源,鼠标键盘的原始输入) 57个主题

.图形和多媒体(包含GDI和GDI+以及周边的知识) 27个主题

.系统服务(包含文件系统,进程间通信,注册表,等等) 29个主题

.网络(包含winsock,RPC等等)24个主题

痛苦的是,以上%85的主题都是必须要掌握的.如果用MFC来走捷径,反而会走更多弯路.

我想C++也好,win32开发也好,不是难的问题,而是涉及的只是太多的问题

我在用C++进行winsock编程的时候经常会用到String^,IOException^,System::Object^...等等,请问这些都是什

conio.h不是C标准库中的头文件。 conio是Console Input/Output(控制台输入输出)的简写,其中定义了通过控制台进行数据输入和数据输出的函数,主要是一些用户通过按键盘产生的对应操作,比如getch()函数等等。

[编辑本段]包含的函数

包含的函数: cgets(char *); cprintf(const char *, ...); cputs(const char *); cscanf(const char *, ...); inp(unsigned short); inpw(unsigned short); getch(void); getche(void); kbhit(void); outp(unsigned short, int); outpw(unsigned short, unsigned short); putch(int); ungetch(int); void _Cdecl clreol (void); void _Cdecl clrscr (void); void _Cdecl delline (void); int _Cdecl gettext (int left, int top, int right, int bottom, void *destin); void _Cdecl gettextinfo (struct text_info *r); void _Cdecl gotoxy (int x, int y); void _Cdecl highvideo (void); void _Cdecl insline (void); void _Cdecl lowvideo (void); int _Cdecl movetext (int left, int top, int right, int bottom, int destleft, int desttop); void _Cdecl normvideo (void); int _Cdecl puttext (int left, int top, int right, int bottom, void *source); void _Cdecl textattr (int newattr); void _Cdecl textbackground (int newcolor); void _Cdecl textcolor (int newcolor); void _Cdecl textmode (int newmode); int _Cdecl wherex (void); int _Cdecl wherey (void); void _Cdecl window (int left, int top, int right, int bottom); har *_Cdecl cgets (char *str); int _Cdecl cprintf (const char *format, ...); int _Cdecl cputs (const char *str); int _Cdecl cscanf (const char *format, ...); int _Cdecl getch (void); int _Cdecl getche (void); char *_Cdecl getpass (const char *prompt); int _Cdecl kbhit (void); int _Cdecl putch (int c); int _Cdecl ungetch (int ch);

windows.h

Windows程序的开头都可看到: #include <windows.h> WINDOWS.H是主要的头文件,它包含了其他Windows头文件,这些头文件的某些也包含了其他头文件。这些头文件中最重要的和最基本的是: WINDEF.H 基本型态定义。 WINNT.H 支援Unicode的型态定义。 WINBASE.H Kernel函数。 WINUSER.H 使用者介面函数。 WINGDI.H 图形装置介面函数。 这些头文件定义了Windows的所有资料型态、函数调用、资料结构和常数识别字,它们是Windows文件中的一个重要部分。

[编辑本段]文件内容

/*++ BUILD Version: 0001 Increment this if a change has global effects Copyright (c) Microsoft Corporation. All rights reserved. Module Name: windows.h Abstract: Master include file for Windows applications. --*/ #ifndef _WINDOWS_ #define _WINDOWS_ #ifdef __BORLANDC__ #pragma defineonoption __BOROPT_A -A #pragma defineonoption __BOROPT_H -H #if (__BORLANDC__ == 0x550) && defined(__BOROPT_A) && defined(__BOROPT_H) #error The use of both -A (ANSI mode) and -H (pre-compiled headers) at the same time is unsupported. #endif #endif /* __BORLANDC__ */ #pragma option push -b -a8 -pc -A- /*P_O_Push*/ #ifndef WINVER #define WINVER 0x0501 #else #if defined(_WIN32_WINNT) && (WINVER < 0x0400) && (_WIN32_WINNT > 0x0400) #error WINVER setting conflicts with _WIN32_WINNT setting #endif #endif #ifndef _INC_WINDOWS #define _INC_WINDOWS #if defined (_MSC_VER) && (_MSC_VER >= 1020) #pragma once #endif /* If defined, the following flags inhibit definition * of the indicated items. * * NOGDICAPMASKS - CC_*, LC_*, PC_*, CP_*, TC_*, RC_ * NOVIRTUALKEYCODES - VK_* * NOWINMESSAGES - WM_*, EM_*, LB_*, CB_* * NOWINSTYLES - WS_*, CS_*, ES_*, LBS_*, SBS_*, CBS_* * NOSYSMETRICS - SM_* * NOMENUS - MF_* * NOICONS - IDI_* * NOKEYSTATES - MK_* * NOSYSCOMMANDS - SC_* * NORASTEROPS - Binary and Tertiary raster ops * NOSHOWWINDOW - SW_* * OEMRESOURCE - OEM Resource values * NOATOM - Atom Manager routines * NOCLIPBOARD - Clipboard routines * NOCOLOR - Screen colors * NOCTLMGR - Control and Dialog routines * NODRAWTEXT - DrawText() and DT_* * NOGDI - All GDI defines and routines * NOKERNEL - All KERNEL defines and routines * NOUSER - All USER defines and routines * NONLS - All NLS defines and routines * NOMB - MB_* and MessageBox() * NOMEMMGR - GMEM_*, LMEM_*, GHND, LHND, associated routines * NOMETAFILE - typedef METAFILEPICT * NOMINMAX - Macros min(a,b) and max(a,b) * NOMSG - typedef MSG and associated routines * NOOPENFILE - OpenFile(), OemToAnsi, AnsiToOem, and OF_* * NOSCROLL - SB_* and scrolling routines * NOSERVICE - All Service Controller routines, SERVICE_ equates, etc. * NOSOUND - Sound driver routines * NOTEXTMETRIC - typedef TEXTMETRIC and associated routines * NOWH - SetWindowsHook and WH_* * NOWINOFFSETS - GWL_*, GCL_*, associated routines * NOCOMM - COMM driver routines * NOKANJI - Kanji support stuff. * NOHELP - Help engine interface. * NOPROFILER - Profiler interface. * NODEFERWINDOWPOS - DeferWindowPos routines * NOMCX - Modem Configuration Extensions */ #if defined(RC_INVOKED) && !defined(NOWINRES) #include <winresrc.h> #else #if defined(RC_INVOKED) /* Turn off a bunch of stuff to ensure that RC files compile OK. */ #define NOATOM #define NOGDI #define NOGDICAPMASKS #define NOMETAFILE #define NOMINMAX #define NOMSG #define NOOPENFILE #define NORASTEROPS #define NOSCROLL #define NOSOUND #define NOSYSMETRICS #define NOTEXTMETRIC #define NOWH #define NOCOMM #define NOKANJI #define NOCRYPT #define NOMCX #endif #if defined(__BORLANDC__) && defined(__cplusplus) # include <mem.h> // Needed for protos of memxxx() routines #endif #if defined(__BORLANDC__) # ifndef _WIN32_WINNT # define _WIN32_WINNT 0x0500 /* If not set, assume NT 5.00 */ # endif # if defined(__cplusplus) # define NOMINMAX /* for WINDEF.H */ # else # define NONAMELESSUNION /* for OAIDL.H, OBJIDL.H,... */ # endif # if defined(_UNICODE) # define UNICODE # endif #endif #if !defined(_68K_) && !defined(_MPPC_) && !defined(_X86_) && !defined(_IA64_) && !defined(_AMD64_) && defined(_M_IX86) #define _X86_ #endif #if !defined(_68K_) && !defined(_MPPC_) && !defined(_X86_) && !defined(_IA64_) && !defined(_AMD64_) && defined(_M_AMD64) #define _AMD64_ #endif #if !defined(_68K_) && !defined(_MPPC_) && !defined(_X86_) && !defined(_IA64_) && !defined(_AMD64_) && defined(_M_M68K) #define _68K_ #endif #if !defined(_68K_) && !defined(_MPPC_) && !defined(_X86_) && !defined(_IA64_) && !defined(_AMD64_) && defined(_M_MPPC) #define _MPPC_ #endif #if !defined(_68K_) && !defined(_MPPC_) && !defined(_X86_) && !defined(_M_IX86) && !defined(_AMD64_) && defined(_M_IA64) #if !defined(_IA64_) #define _IA64_ #endif // !_IA64_ #endif #ifndef _MAC #if defined(_68K_) || defined(_MPPC_) #define _MAC #endif #endif #if defined (_MSC_VER) #if ( _MSC_VER >= 800 ) #ifndef __cplusplus #pragma warning(disable:4116) // TYPE_ALIGNMENT generates this - move it // outside the warning push/pop scope. #endif #endif #endif #ifndef RC_INVOKED #if ( _MSC_VER >= 800 ) || defined(__BORLANDC__) #pragma warning(disable:4514) #ifndef __WINDOWS_DONT_DISABLE_PRAGMA_PACK_WARNING__ #pragma warning(disable:4103) #endif #if _MSC_VER >= 1200 #pragma warning(push) #endif #pragma warning(disable:4001) #pragma warning(disable:4201) #pragma warning(disable:4214) #endif #include <excpt.h> #include <stdarg.h> #endif /* RC_INVOKED */ #include <windef.h> #include <winbase.h> #include <wingdi.h> #include <winuser.h> #if !defined(_MAC) || defined(_WIN32NLS) #include <winnls.h> #endif #ifndef _MAC #include <wincon.h> #include <winver.h> #endif #if !defined(_MAC) || defined(_WIN32REG) #include <winreg.h> #endif #ifndef _MAC #include <winnetwk.h> #endif #ifndef WIN32_LEAN_AND_MEAN #include <cderr.h> #include <dde.h> #include <ddeml.h> #include <dlgs.h> #ifndef _MAC #include <lzexpand.h> #include <mmsystem.h> #include <nb30.h> #include <rpc.h> #endif #include <shellapi.h> #ifndef _MAC #include <winperf.h> #include <winsock.h> #endif #ifndef NOCRYPT #include <wincrypt.h> #include <winefs.h> #include <winscard.h> #endif #ifndef NOGDI #ifndef _MAC #include <winspool.h> #ifdef INC_OLE1 #include <ole.h> #else #include <ole2.h> #endif /* !INC_OLE1 */ #endif /* !MAC */ #include <commdlg.h> #endif /* !NOGDI */ #endif /* WIN32_LEAN_AND_MEAN */ #include <stralign.h> #ifdef _MAC #include <winwlm.h> #endif #ifdef INC_OLE2 #include <ole2.h> #endif /* INC_OLE2 */ #ifndef _MAC #ifndef NOSERVICE #include <winsvc.h> #endif #if(WINVER >= 0x0400) #ifndef NOMCX #include <mcx.h> #endif /* NOMCX */ #ifndef NOIME #include <imm.h> #endif #endif /* WINVER >= 0x0400 */ #endif #ifndef RC_INVOKED #if ( _MSC_VER >= 800 ) || defined(__BORLANDC__) #if _MSC_VER >= 1200 #pragma warning(pop) #else #pragma warning(default:4001) #pragma warning(default:4201) #pragma warning(default:4214) /* Leave 4514 disabled. It's an unneeded warning anyway. */ #endif #endif #endif /* RC_INVOKED */ #endif /* RC_INVOKED */ #endif /* _INC_WINDOWS */ #pragma option pop /*P_O_Pop*/ #endif /* _WINDOWS_ */

string.h

C语言里面关于字符数组的函数定义的头文件,常用函数有strlen、strcmp、strcpy等等,更详细的可以到include文件夹里面查看该文件。 下面更详细的介绍下: /***********************************************************************/ C、传统 C++ #include <assert.h> //设定插入点 #include <ctype.h> //字符处理 #include <errno.h> //定义错误码 #include <float.h> //浮点数处理 #include <fstream.h> //文件输入/输出 #include <iomanip.h> //参数化输入/输出 #include <iostream.h> //数据流输入/输出 #include <limits.h> //定义各种数据类型最值常量 #include <locale.h> //定义本地化函数 #include <math.h> //定义数学函数 #include <stdio.h> //定义输入/输出函数 #include <stdlib.h> //定义杂项函数及内存分配函数 #include <string.h> //字符串处理 #include <strstrea.h> //基于数组的输入/输出 #include <time.h> //定义关于时间的函数 #include <wchar.h> //宽字符处理及输入/输出 #include <wctype.h> //宽字符分类 /***********************************************************************/ 标准 C++ (同上的不再注释) #include <algorithm> //STL 通用算法 #include <bitset> //STL 位集容器 #include <cctype> #include <cerrno> #include <clocale> #include <cmath> #include <complex> //复数类 #include <cstdio> #include <cstdlib> #include <cstring> #include <ctime> #include <deque> //STL 双端队列容器 #include <exception> //异常处理类 #include <fstream> #include <functional> //STL 定义运算函数(代替运算符) #include <limits> #include <list> //STL 线性列表容器 #include <map> //STL 映射容器 #include <iomanip> #include <ios> //基本输入/输出支持 #include <iosfwd> //输入/输出系统使用的前置声明 #include <iostream> #include <istream> //基本输入流 #include <ostream> //基本输出流 #include <queue> //STL 队列容器 #include <set> //STL 集合容器 #include <sstream> //基于字符串的流 #include <stack> //STL 堆栈容器 #include <stdexcept> //标准异常类 #include <streambuf> //底层输入/输出支持 #include <string> //字符串类 #include <utility> //STL 通用模板类 #include <vector> //STL 动态数组容器 #include <cwchar> #include <cwctype> using namespace std; /***********************************************************************/ C99 增加 #include <complex.h> //复数处理 #include <fenv.h> //浮点环境 #include <inttypes.h> //整数格式转换 #include <stdbool.h> //布尔环境 #include <stdint.h> //整型环境 #include <tgmath.h> //通用类型数学宏 /***********************************************************************/

math.h

数学函数库,一些数学计算的公式的具体实现是放在math.h里,具体有: 1 三角函数 double sin (double); double cos (double); double tan (double); 2 反三角函数 double asin (double); 结果介于[-PI/2, PI/2] double acos (double); 结果介于[0, PI] double atan (double); 反正切(主值), 结果介于[-PI/2, PI/2] double atan2 (double, double); 反正切(整圆值), 结果介于[-PI/2, PI/2] 3 双曲三角函数 double sinh (double); double cosh (double); double tanh (double); 4 指数与对数 double exp (double); double sqrt (double); double log (double); 以e为底的对数 double log10 (double); double pow(double x, double y)//计算以x为底数的y次幂 5 取整 double ceil (double); 取上整 double floor (double); 取下整 6 绝对值 double fabs (double); double cabs(struct complex znum) //求复数的绝对值 7 标准化浮点数 double frexp (double f, int *p); 标准化浮点数, f = x * 2^p, 已知f求x, p ( x介于[0.5, 1] ) double ldexp (double x, int p); 与frexp相反, 已知x, p求f 8 取整与取余 double modf (double, double*); 将参数的整数部分通过指针回传, 返回小数部分 double fmod (double, double); 返回两参数相除的余数 9其他 double hypot(double x, double y);//已知直角三角形两个直角边长度,求斜边长度 double ldexp(double x, int exponent);//计算x*(2的exponent次幂) double poly(double x, int degree, double coeffs [] )//计算多项式 nt matherr(struct exception *e)//数学错误计算处理程序 source: 《C & C++ Code Capsules》

这些是C++.net里的语法,string^ 其实就是 string *

^ 就是 * 的意思,使用.net ,最合适的语言是 C#,用VB 和 C++也能调用 ,不过用着不是很好用,而且这样编译出来的程序都要有.net frame work环境才能运行。

如果想用.net ,还是直接 用C#吧。