CodeProject: TinyUDP – Simple UDP Client/Server Components for .NET. Free source code and programming help
http://www.codeproject.com/KB/IP/TinyUDP.aspx
C# UdpClient接收消息问题?
http://topic.csdn.net/u/20071226/10/27e8d862-b43a-431b-a44b-adda87d347f3.html
CodeProject: UT2003 Gameserver Status. Free source code and programming help
http://www.codeproject.com/KB/IP/ut2003query.aspx
Strange UDP Socket problem – bytes
http://bytes.com/groups/net-c/237558-strange-udp-socket-problem
Best Udp Client : Udp Client : C# / C Sharp examples (example source code) Organized by topic \\ Network
http://www.demo2s.com/Code/CSharp/Network/BestUdpClient.htm
Best Udp Client – Udp Client
http://www.navioo.com/csharp/source_code/Best_Udp_Client_2178.html
求助:使用UdpClient.Receive方法接收对方回复时,如若对方没有答复,怎么解决Receive方法死等的问题? — 编程爱好者论坛存档帖
http://www.programfan.com/club/showpost.asp?id=13629
UDP Client Problem – bytes
http://bytes.com/groups/net-c/237232-udp-client-problem
UdpClient.BeginReceive gives socket error 10054 – CodeGuru Forums
http://www.codeguru.com/forum/showthread.php?threadid=461370
UdpClient.Receive Method
http://msdn.microsoft.com/en-us/library/system.net.sockets.udpclient.receive(VS.71).aspx
C#中判断socket是否已断开的方法 – 人生如酒 – 博客园
http://www.cnblogs.com/JLL/archive/2008/07/28/203090.html#1269706
UDPListener: System.Net.Sockets.SocketException – bytes
http://bytes.com/groups/net-c/475986-udplistener-system-net-sockets-socketexception
CodeGuru Forums – UdpClient.BeginReceive gives socket error 10054
http://www.codeguru.com/forum/printthread.php?t=461370
.NET csharp SocketException question
http://www.eggheadcafe.com/software/aspnet/32686597/socketexception-question.aspx
将对象转为byte[] – 人生如酒 – 博客园
http://www.cnblogs.com/jll/articles/198851.html
How to: Create a Socket Listener
http://msdn.microsoft.com/en-us/library/bb397809.aspx
udp 远程主机强迫关闭了一个现有的连接
http://topic.csdn.net/u/20081122/16/1983a6f6-b008-4e6f-98c1-8d855679adf2.html
c#关于c/s结构 计算上机时间的问题 .NET技术 / C# – CSDN社区 community.csdn.net
http://topic.csdn.net/t/20050822/19/4224232.html
请问 在使用UdpClient接收远程主机发送过来的Udp数据包时: .NET技术 / C# – CSDN社区 community.csdn.net
http://topic.csdn.net/t/20040806/10/3247892.html
为什么使用UdpClient向本机发送数据包会出错? – 微软中文技术论坛(MSDN and TechNet)
http://forums.microsoft.com/china/ShowPost.aspx?PostID=3762050&SiteID=15
udp 远程主机强迫关闭了一个现有的连接
http://topic.csdn.net/u/20081122/16/1983a6f6-b008-4e6f-98c1-8d855679adf2.html?2062577672
大家来看看这段简单的代码有什么问题 .NET技术 / C# – CSDN社区 community.csdn.net
http://topic.csdn.net/t/20060214/18/4555932.html
用UDPClient通信出错,怎么回事呢 .NET技术 / C# – CSDN社区 community.csdn.net
http://topic.csdn.net/t/20060317/12/4620994.html
Best Udp Client : Udp Client « Network « C# / C Sharp
http://www.java2s.com/Code/CSharp/Network/BestUdpClient.htm
An existing connection was forcibly closed by the remote host : .NET Framework Networking and Communication : .NET Development : Microsoft Forums
http://social.microsoft.com/Forums/en-US/netfxnetcom/thread/bcc98596-c9c7-48f1-92ca-021bbe42cbb1
Advanced UDP communications and client side packet loss
http://www.tech-archive.net/Archive/DotNet/microsoft.public.dotnet.framework/2006-01/msg00920.html
microsoft.public.dotnet.languages.csharp: Re: Strange UDP Socket problem
http://www.tech-archive.net/Archive/DotNet/microsoft.public.dotnet.languages.csharp/2004-02/0959.html
UDP Delivers: Take Total Control Of Your Networking With .NET And UDP
http://msdn.microsoft.com/en-us/magazine/cc163648.aspx
"Late Binding" error is killing me! on VB.NET at whitebinder.com – find your answers.
http://www.whitebinder.com/article/1008528/vb-net/late-binding-error-is-killing-me.aspx
A C# SNTP Client UPDATE
/*
* A C# SNTP Client
*
* Copyright (C)2001-2003 Valer BOCAN <vbocan@dataman.ro>
* All Rights Reserved
http://www.codeproject.com/KB/IP/ntpclient.aspx
SNTP Client in C#
By Valer BOCAN
Implementation of the Simple Network Time Protocol (RFC 2030) in C#
““““““
SNTP Client
(4,876 Views)
Simple Network Time Protocol Client
Quick Facts
Version: 1.0
Platform: .NET Framework 2.0
Download: Click here to download the latest version.
“““““
http://dotnet-snippets.com/dns/simple-network-time-ntp-protocol-client-SID572.aspx
Simple Network Time (NTP) Protocol Client
Author: Valer BOCAN
Programming Language: C# Rating:
not yet rated
Views: 3929
““““““`
BUG:
// Local clock offset (in milliseconds)
public int LocalClockOffset
&leftsign;
get
&leftsign;
TimeSpan span = (ReceiveTimestamp – OriginateTimestamp) – (ReceptionTimestamp – TransmitTimestamp);
return (int)(span.TotalMilliseconds / 2);
&rightsign;
&rightsign;
change:
double
“
公共过虑的文件模式
*.[Bb][Aa][Kk] *.[Dd][Bb] *.[Ll][Oo][Gg] *.[Mm][Aa][Pp] *.[Tt][Mm][Pp]
delphi 源码提交时需过虑的文件模式
*.~* *.[Dd][Dd][Pp] *.[Dd][Cc][Pp] *.stat *.tds
vc6 vs2003 vs2005 源码提交时需过虑的文件模式
*.aps *.clw *.ilk *.idb *.ncb *.opt *.obj *.plg *.pch *.pdb *.suo *.user [Dd]ebug [Rr]elease
*.o *.bin *.out *.scc
所有需过虑的文件模式
*.[Bb][Aa][Kk] *.[Dd][Bb] *.[Ll][Oo][Gg] *.[Mm][Aa][Pp] *.[Tt][Mm][Pp] *.~* *.[Dd][Dd][Pp] *.[Dd][Cc][Pp] *.stat *.tds *.aps *.clw *.ilk *.idb *.ncb *.opt *.obj *.plg *.pch *.pdb *.suo *.user [Dd]ebug [Rr]elease *.fblz *.o *.bin *.out *.scc
20080809 c# autoupdate clickonce
http://www.yippeesoft.com
CodeProject: Graphic in XAML and WPF. Free source code and programming help
http://www.codeproject.com/KB/WPF/GraphicInXAMLAndWPF.aspx
不用ClickOnce,做我们个性的自动更新功能 – 我的程序我做主 – 博客园
http://www.cnblogs.com/xjwang/archive/2007/06/28/799147.html
转别人的用C#实现软件自动更新思路_快乐D小孩
http://hi.baidu.com/happybadbaby/blog/item/6e22e9e94cba673ab80e2d90.html
用C# 实现C/S模式下软件自动在线升级[转载,原作者:貓撲] – 程序生产车间 – 博客园
http://www.cnblogs.com/chinaprg/archive/2007/07/10/811912.html
可复用的自动升级系统实现 – cdo – 博客园
http://www.cnblogs.com/cdo/archive/2005/09/06/231229.html
C#自动更新程序及源码原创 – hi – 博客园
http://www.cnblogs.com/trenhui/archive/2008/07/09/1230387.html
自动更新程序源码下载(C#.Net) – jenry-云飞扬 – 博客园
http://www.cnblogs.com/jenry/archive/2006/08/15/477302.aspx
CodeProject: Using Updater Block. Free source code and programming help
http://www.codeproject.com/KB/cs/vanillaupdaterblock.aspx
C# 实现在线软件自动升级程序_龙腾教程网
http://www.longtengwang.com/Article/soft/Csharp/csharpSL/200801/8014.html
.NET后台智能传输服务实现自动更新 – 好心情,就会使工作更有效率 – 博客园
http://www.cnblogs.com/sunjie9606/archive/2008/04/20/1082301.html
WinForm App自动更新(Live Update)架构 @阿良.NET
http://www.chenjiliang.com/Article/View.aspx?ArticleID=7580&TypeID=79
JavaScript与C# Windows应用程序交互 @阿良.NET
http://www.chenjiliang.com/Article/View.aspx?ArticleID=8236&TypeID=79
[转载]利用Web Services实现软件自动升级 – 尹学渊的共享空间 – Love Dot NET – 博客园
http://www.cnblogs.com/erwin/archive/2008/01/28/1056013.html
[转载]在WinForm中使用Web Services 来实现 软件 自动升级( Auto Update ) (C#) – 尹学渊的共享空间 – Love Dot NET – 博客园
http://www.cnblogs.com/erwin/archive/2008/01/28/1056103.html
[笔记]使用 .NET 和后台智能传输服务 API 来编写自动更新应用程序 – 尹学渊的共享空间 – Love Dot NET – 博客园
http://www.cnblogs.com/erwin/archive/2008/01/28/1056144.html
在C#中实现软件自动升级的解决方案 – 董世军的Blog – DonewsBlog
http://blog.donews.com/dongshijun/archive/2007/09/24/1213207.aspx
尹学渊的共享空间 – Love Dot NET – 博客园
http://erwin.cnblogs.com/
C#实现软件自动升级 – whatodo – 网易博客
http://blog.163.com/qiqinghai_2/blog/static/5928669200710238846197/
20080809 clickonce autoupdate c#
http://www.yippeesoft.com
转别人的用C#实现软件自动更新思路_快乐D小孩
http://hi.baidu.com/happybadbaby/blog/item/6e22e9e94cba673ab80e2d90.html
转别人的用C#实现软件自动更新思路_快乐D小孩
http://hi.baidu.com/happybadbaby/blog/item/6e22e9e94cba673ab80e2d90.html
C#中使用ClickOnce技术实现系统的部署和升级 – leon – 网易博客
http://blog.163.com/leon3000@126/blog/static/40953693200846114222150/
ClickOnce
如何:发布 ClickOnce 应用程序
http://msdn.microsoft.com/zh-cn/vstudio/31kztyey.aspx
CodeProject: Download Manager for update Application. Free source code and programming help
http://www.codeproject.com/KB/vb/Download_version_Manager.aspx
CodeProject: Adding automatic updates to your program – Part 1. Free source code and programming help
file:///I:/ScrapBook/data/20080804180625/index.html
CodeProject: ClickOnce Button Server Control. Free source code and programming help
http://www.codeproject.com/KB/custom-controls/ClickOnce_Button_Control.aspx
CodeProject: Publish an application using ClickOnce, without VS 2005. Free source code and programming help
http://www.codeproject.com/KB/dotnet/Mage_UI_Utility.aspx
CodeProject: Downloading updates in Windows Form application. Free source code and programming help
http://www.codeproject.com/KB/IP/ApplicationUpdate.aspx
CodeProject: Application Auto Update Revisited. Free source code and programming help
http://www.codeproject.com/KB/vb/Auto_Update_Revisited.aspx
CodeProject: Adding automatic updates to your program – Part 1. Free source code and programming help
http://www.codeproject.com/KB/install/DDayUpdate_Part1.aspx
DDay.Update
http://www.ddaysoftware.com/Pages/Projects/DDay.Update/Default.aspx
2005中ClickOnce实现程序的自动升级功能。 – Bear.sTaR&leftsign;R&rightsign; – 博客园
http://www.cnblogs.com/BearsTaR/archive/2006/06/05/ClickOnce.html
使用clickone部署vs2005中的winform应用程序(转载) – szg3827的专栏 – CSDNBlog
http://blog.csdn.net/szg3827/archive/2008/03/23/2211202.aspx
Clickonce部署初体验(ZT) – 汶川大地震:愿生者得救,逝者安息! – 博客园
http://www.cnblogs.com/chinhr/archive/2007/06/18/787253.html
[转]ClickOnce – Just Tiger – 博客园
http://zitiger.cnblogs.com/archive/2005/08/03/207001.html
ClickOnce使用体会 – 今日红缨在手 – 博客园
http://www.cnblogs.com/dajianshi/archive/2008/05/22/877065.html
在ClickOnce应用程序中创建桌面快捷方式 – teamleader – 博客园
http://www.cnblogs.com/teamleader/archive/2008/05/12/1193466.html
How to: Check for Application Updates Programmatically Using the ClickOnce Deployment API
http://msdn.microsoft.com/en-us/library/ms404263(VS.80).aspx
ClickOnce Sample
http://msdn.microsoft.com/en-us/library/01f4d4fc(VS.80).aspx
TopXML : Simple Auto Update for WPF Apps, without the Updater Block, in XML
http://www.topxml.com/rbnews/XML/re-85952_Simple-Auto-Update-for-WPF-Apps-without-the-Updater-Block.aspx
WPF Localization Extension – Home
http://www.codeplex.com/WPFLocalizeExtension
LocalizeExtension
求C#自动更新组件代码(在线)(急用) .NET技术 / C# – CSDN社区 community.csdn.net
http://topic.csdn.net/t/20041129/10/3597212.html
实现.net应用程式的自动更新 _asp.net技巧-NET编程-技术资讯-华夏名网资讯中心 虚拟主机,域名注册,双线虚拟主机,服务器租赁,为7万用户提供服务
http://www.sudu.cn/info/html/edu/net/20071224/12802.html
自动更新 – 高海东的专栏 – CSDNBlog
http://blog.csdn.net/gaohaidong/archive/2005/03/16/321231.aspx
实现.NET应用程序的自动更新 – 中国站长站
http://www.chinaz.com/Program/.NET/0222232R2008.html
自动更新程序源码下载(C#.Net) – jenry-云飞扬 – 博客园
http://www.cnblogs.com/jenry/archive/2008/04/24/477302.html
Deploying a WPF Application (WPF)
http://msdn.microsoft.com/en-us/library/aa969776.aspx
ClickOnce Deployment
http://msdn.microsoft.com/en-us/library/t71a733d.aspx
Deploying a Windows Presentation Foundation Application
http://msdn.microsoft.com/en-us/library/aa969776(VS.85).aspx
ClickOnce and XBAPs
http://209.85.175.104/u/loyolachicago?q=cache:h9ce4wjCLGcJ:guysmithferrier.com/downloads/COXBAPs.pdf+Deploying+WPF+App+Using+ClickOnce+and+VS&hl=en&ct=clnk&cd=9
Wikipedia Explorer, WPF and ClickOnce
http://www.guysmithferrier.com/post/2007/02/Wikipedia-Explorer2c-WPF-and-ClickOnce.aspx
Download details: Updater Application Block
http://www.microsoft.com/downloads/details.aspx?FamilyId=C6C17F3A-D957-4B17-9B97-296FB4927C30&displaylang=en
Updater Application Block
ClickOnce
http://msdn.microsoft.com/en-us/netframework/aa497348.aspx
程湘之間: Updater Application Block 與 ClickOnce
http://bccharles.spaces.live.com/blog/cns!2c5e488dee8c116e!192.entry
Updater Application Block (翻译+总结) – 水-生命之源 – 博客园
http://www.cnblogs.com/water.xing/articles/119175.html
求个c#桌面程序的自动更新程序 – C# 论坛 – 编程论坛
http://bbs.bc-cn.net/thread-200825-1-1.html
Automatic Updates – Releases
http://www.codeplex.com/AutomaticUpdates/Release/ProjectReleases.aspx
Creating Self-Updating Applications With the .NET Compact Framework
http://msdn.microsoft.com/en-us/library/aa446487.aspx
Automatic Updates and WindowsUpdate Reset tool – Release: AU Client and WindowsUpdate Reset Tool (v77c)
http://www.codeplex.com/aureset/Release/ProjectReleases.aspx?ReleaseId=13656
Update Controls .NET – Home
http://www.codeplex.com/updatecontrols
Rent A Coder – Making C# Application Auto Update
http://www.rentacoder.com/RentACoder/misc/BidRequests/ShowBidRequest.asp?lngBidRequestId=793568
Auto update of program (Downloading from web) – C# – Forums at ProgrammersHeaven.com
http://www.programmersheaven.com/mb/csharp/373030/373030/ReadMessage.aspx
单机搭建WinCE开发环境 – 何建邦的BLOG – 博客园
http://www.cnblogs.com/we-hjb/archive/2008/07/30/1256838.html
急!急!求VB.NET2003,C/S程序自动升级源代码,要能使用!!!! .NET技术 / VB.NET – CSDN社区 community.csdn.net
http://topic.csdn.net/t/20061212/11/5224135.html
VS2005中使用ClickOnce 部署应用程序的升级 – szg3827的专栏 – CSDNBlog
http://blog.csdn.net/szg3827/archive/2008/03/24/2211234.aspx
使用VS2005的 ClickOnce 技术实现按需下载组件。_思海
http://hi.baidu.com/twmp/blog/item/65affc0045c9d784e950cdb1.html
ClickOnce部署概述 – 一路前行 – 博客园
http://www.cnblogs.com/zhangpengshou/archive/2008/05/23/1206090.html
Application Auto-Update Question : Windows Presentation Foundation (WPF) : .NET Development : MSDN Forums
http://forums.msdn.microsoft.com/en-US/wpf/thread/d8ee7275-4801-4a34-8254-e8d381ca1a6a
Auto update of program (Downloading from web), C# Language, C#,VB.NET,XAML,.NET
http://www.c-sharpcorner.com/Forums/ShowMessages.aspx?ThreadID=43683
Auto Update of a ListView from a DataSet : Windows Presentation Foundation (WPF) : .NET Development : MSDN Forums
http://forums.msdn.microsoft.com/en-US/wpf/thread/279f036a-486b-492b-9223-1d7dcfcf570b/
Lester\’s WPF blog
http://blogs.msdn.com/llobo/
Windows Presentation Foundation 主机 (PresentationHost.exe)
http://msdn.microsoft.com/zh-cn/aa970051.aspx
esentationHost.exe example.xbap
Windows Presentation Foundation Security
http://technet.microsoft.com/zh-cn/aa970906(VS.85).aspx#InternetExplorerSecuritySettings
Windows Presentation Foundation Host (PresentationHost.exe)
http://technet.microsoft.com/zh-cn/aa970051(VS.85).aspx
Draggable window or datagrid : The Official Microsoft Silverlight Site
http://silverlight.net/forums/p/12467/41324.aspx#41324
Building Photo Uploaders with XAML &line; dev.aol.com &line; The AOL Developer Network
http://dev.aol.com/building_photo_uploaders_with_xaml
Visual Studio 2008 Tip: Open XAML Files Faster « Karl On WPF – .Net
http://privacywant.info/index.php?hl=f5&q=uggc%3A%2F%2Fxneyfuvssyrgg.jbeqcerff.pbz%2F2008%2F02%2F04%2Fivfhny-fghqvb-2008-gvc-bcra-knzy-svyrf-snfgre%2F
.NET csharp Setting local namespace in xaml file
http://www.eggheadcafe.com/software/aspnet/32478868/setting-local-namespace-i.aspx
如何:配置 IIS 5.0 和 IIS 6.0 以部署 WPF 应用程序
http://msdn.microsoft.com/zh-cn/ms752346.aspx
部署 WPF 应用程序 (WPF)
http://msdn.microsoft.com/zh-cn/vcsharp/aa969776.aspx
仅标记 XAML 页
用WPF构建强大的用户体验 – XAML浏览器应用程序-微软开发专栏-WPF-天极网
http://dev.yesky.com/msdn/255/2665755_4.shtml
Windows Presentation Foundation 简介
http://msdn.microsoft.com/zh-cn/library/aa970268.aspx#WPF_Best_Practices
Windows Presentation Foundation XAML 浏览器应用程序概述
http://msdn.microsoft.com/zh-cn/aa970060.aspx
如何:使用 XCopy 进行部署
http://msdn.microsoft.com/zh-cn/vcsharp/ms235291.aspx
.NET 3.0 框架介绍 – oec2003的学习专栏 – 博客园
http://www.cnblogs.com/oec2003/archive/2007/08/10/850866.html
20080713 Oracle Instant Client
http://www.yippeesoft.com
http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.html
Installation Steps:
1. Download the appropriate Instant Client packages for your platform. All installations REQUIRE the Basic package.
2. Unzip the packages into a single directory such as "instantclient".
3. Set the library loading path in your environment to the directory in Step 2 ("instantclient"). On many UNIX platforms, LD_LIBRARY_PATH is the appropriate environment variable. On Windows, PATH should be used.
4. Start your application and enjoy.
但是仍然失败
参考资料:
使用PL/SQL Developer连接oracle出现TNS:12154,Why?
我的电脑装了Oracle 的Suite,我在察看PLSQL Developer的Help—-Support Info—TNS Names时发现PLSQL Developer 默认使用的是Oracle的Develop软件产品的tnsnames.ora,于是我将Oralce DB的tnsnames.ora复制过来覆盖掉这个tnsnames.ora.问题就OK了。
其实这个问题我之前也出现过,不过那时是出现在Oracle developer 的相关产品连接Oracle DB时。所以我个人认为,如果出现Oracle DB可以连接上,而第三方开发软件连接不上时,就应该考虑其相关的tnsnames.ora是否设置正确。
上下文:机器上安装了一个Oracle817服务器,但是都是最小安装,然后想通过这台机器的SqlPlus连接其他机器的Oracle8i服务器
现象:通过Net8 Assistant可以测试通过,但是使用SqlPlus则不行,报ORA-12154的错误
解决方式:检查$Oracle_Home\\network\\admin\\tnsname.ora文件,看看配置的TNS在不在
检查$Oracle_Home\\network\\admin\\sqlnet.ora,看看NAMES.DIRECTORY_PATH这个常量的值。需要设置为:NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)
然后就打开SqlPlus就Ok了
原因:估计是NAMES.DIRECTORY_PATH常量是查询服务的方式。我没有修改这个之前NAMES.DIRECTORY_PATH= (HOSTNAME)是这个样子的,所以可能他仅仅查询本机器的服务。加上TNSAMES 可能就是增加解析TNS的功能。
http://blog.csdn.net/pengpenglin/archive/2007/09/27/1802626.aspx
原创 Oracle ORA-12154: TNS:could not resolve service name错误的解决方法
http://www.oracle.com.cn/archiver/?tid-87874.html
ORA-12154:TNS: could not resolver the connect identifier specified
是连接远程的oracle吧?
需要现在oracle中配置这个连接.
oracle\\ora92\\network\\admin下的tnsnames.ora中添加:
_tech=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 202.113.13.84)(PORT = 1521))
)
(CONNECT_DATA =
(SID = tech)
(SERVER = DEDICATED)
)
)
http://hi.baidu.com/washingtontju/blog/item/e484fad325d820dca8ec9a31.html
cle 10g绿色客户端 plus PL/SQL Developer-搭建方便的Oracle客户端使用环境
PL/SQL Developer是一个非常方便Oracle数据库的PL/SQL的程序编写与调试程序!Oracle数据库的功能很强大,而且对于每个细小的环节都可以控制。但是如果想用SQL*PLUS来操作的话,您就非得是高手中的高手不可了。尽管是高手,可能也要花很多的时间,我在此向您推荐一条系统管理的捷径 PL/SQL Developer,确实是管理Oracle系统管理与使用的好帮,不愧ORACLE公司内部的人员都在使用它,而不再去开发SQL*PLUS。并且它的扩展PLUG-INS功能真叫绝妙。
文件夹权限可以不用管。
设置ORACLE_HOME变量的方法如下
控制面板>>系统>>高级>>环境变量>>系统变量>>新建系统变量
变量名写ORACLE_HOME
变量值添实际的ORACLE_HOME路径,在注册表中有
http://hi.baidu.com/bxzh/blog/item/2dd76ad66ca6c22a06088b58.html
免安装Oracle运行pl/sql developer
运行PL/SQL Developer报“oci.dll找不到模块”
环境变量中设置ORACLE_HOME
并将%ORACLE_HOME%\\bin加入path
http://dragon7557.itpub.net/post/3579/266274
Oracle Instant client介紹及試用手記
http://blog.csdn.net/oseica/archive/2007/02/08/1505409.aspx
oracle 10g 客户端安装
无法加载oci.dll等错误的解决方法
问题现象:net在windows2003下访问oracle9i提示“无法加载oci.dll”或 "无法在dll oci.dll中找到名为ocienvcreate的入口点 "的修复方法
开发环境:Windows2003,Visual Studio .net 2003,Oracle Client 9i。
原因:这是由于ASP .Net没有权限访问oracle的安装目录造成的。
修复方法:
1:找到oracle客户端的安装目录,例如:E:\\oracle\\ora92,选中目录,在“属性–安全”里面删掉“ASP .NET、Users用户”然后再添加进去,并赋予“完全控制或者修改权限”;将everyone赋予“完全控制或者修改权限”,注意:网站的目录权限也要设置为ervryone完全访问,不然oracle好了,网站同样访问不了.重新启动。
2:最简单直接的方法是启用ASP .Net用户模拟,在web.config的 <system.web> </system.web> 配置节中增加: <identity impersonate= "true " userName= "USER " password= "PASSWORD "/>
如: <identity impersonate= "true " userName= "administrator " password= "123456 "> </identity>
http://www.30wan.com/articleview/2008-5-7/article_view_12418.htm
安装oracle10G即时客户端instantclient时msvcr71.dll缺失问题解决-zmxj的专栏
http://hi.baidu.com/dcf1209/blog/item/654546ca828afa83c91768c6.html
不安装Oracle使用PlSqlDeveloper
http://www.mydatabasesupport.com/oracle-instant-client-ease-your-client-deployment.html
Oracle Instant Client : Ease your client deployment
http://allblue.mllm.org/node/228
PL/SQL Developer和Oracle Instant Client
http://dev.csdn.net/article/58/58861.shtm
Installing PHP and the Oracle 10g Instant Client for Linux and Windows
http://robinlu7.spaces.live.com/blog/cns!4CD02310774241DE!196.entry
Oracle客户端免注册安装的使用方法(纯绿色方式)
http://hi.baidu.com/washingtontju/blog/item/e484fad325d820dca8ec9a31.html
Oracle 10g绿色客户端 plus PL/SQL Developer-搭建方便的Oracle客户端使用环境
http://expert.blog.51cto.com/339473/70969
重磅推出:Oracle客户端精简绿色版
http://hi.baidu.com/zbzb/blog/item/19d5e2dd973a10eb77c63874.html
绿色版Oracle客户端下载
20080421 Eclipse hibernate spring Tapestry 1
http://www.yippeesoft.com
Driver class not found oracle thin No driver name specified
问题:
在myEclipse的“Datasource Explorer”视图中,右键->“Hibernate Reverse Engineering”,创建对
象关系映射文件时,最后一步提示“在“generating artifacts”期间发生了内部错误”;
解决:
这个问题折腾了我近两天,查了好多资料,最后总结出可能有两种原因,对应有两种解决方法。
原因1:是MyEclipse4.1GA本身的BUG;
解决1:升级到myEclipse最新版本即可;
原因2:是oracle驱动不匹配的问题,class12.jar for jdk1.1 and jdk1.2;jdk1.4以上应该用
ojdbc1.4.jar;
解决2:
第一步:在工程中的lib中添加包ojdbc1.4.jar,并确认ojdbc1.4.jar自动加入了.classpath中;
第二步:在myEclipse的“Datasource Explorer”视图中配置oracle连接中,指定驱动类为ojdbc1.4.jar
jdbc:oracle:thin:@127.0.0.1:1521:orcl
在Eclipse下生成jar文件是非常简单的:
1.在要生成jar的项目上右击,选择菜单上的Export(导出)
2.导出类型选择Jar File
3.选择或者输入生成路径
4.manifest文件是默认生成的,你还可以选择把生成后的文件保存到指定路径
程序的切入点点击“浏览”Eclipse会自动检测可以切入的类,选择你要作为切入点的类就行了
(下面这个是本人的示范程序的选项,自动生成manifest文件,并保存到workspace的Triangle文件夹里,文件名为manifest,切入点为clsTriangle)
(生成的jar文件)
5.运行jar文件,在命令行下输入:
java -jar e:\\myTriangle.jar
运行成功,如图:
很多朋友在生成jar文件后,执行时只是简单的输入
java JAR_File_Path
这样是无法执行该jar文件的,需要加入参数 -jar 才可以。
广行无部伍行陈,就善水草屯,舍止,人人自便,不击刀斗以自韂,莫府省约文书籍事,然亦远斥候,未尝遇害。程不识正部曲行伍营陈,击刀斗,士吏治军簿至明,军不得休息,然亦未尝遇害。
效伯高不得,犹为谨敕之士,所谓刻鹄不成尚类鹜者也;效季良不得,陷为天下轻薄子,所谓画虎不成反类狗者也。
选择tapestry有如下几大优点:
1、最彻底的MVC开发框架,页面代码全部由HTML标准标签组成,页面美工人员无须了解特别的标签定义。
2、可重用组件开发节省开发资源,一句话:越开发越轻松
3、优秀的页面流转开发。传统方式都是基于URL实现激活页面流转,而tapstry除了此方式,你还可象开发普通java类一样实现page页面流,更
重要的是,还可由此实现页面类的复用。
4、丰富的组件资源。除了官方维护的资源外,还可找到一大堆的tapestry组件库。
5、超强的扩展性。tapestry是一个真正的开放性架构,说白了,你觉得哪个服务不爽,你就可写个替代它。
6、生命力超强,不断的自我更新、发展。tapestry4.0与3.0相比简直就是另一个飞跃,如支持jdk1.5的Annotations,仅这点开源产品中目前
还只看到一个hibernate;支持portlet JSR-168,又一个顺应潮流的web开发支持。规划中的4.1将支持页面静态化,这不正是众多开发人员的
另个期待吗?
7、tapestry的开发人员稳定。不是一个两个人在那里单打独斗,而是有一群人在开发和支持tapestry的进程。
8、tapestry技术成熟吗?基于tapestry的软件和大网站已经很多了,
Tapestry的缺点
1.页面的控制复杂。一个Tapestry页面需要三个文件来定义,改动到组件参数的时候往往需要修改三个文件的相关代码,经常会发生遗漏。
2.HTML文件的视图显示问题,由于加入了Tapestry的组件及属性,一般的HTML编辑器的所见即所得功能就丧失了,虽然你也可以写所谓的“mockup”(即只为显示所用的HTML代码),但过于麻烦实际上作用不大。
3.属性的persistent机制问题。该机制是把变量放在内存中以便后续使用。但如果在退出页面时没有清空这些属性值,下次(未重启服务)再进入该页面时这些属性的值还会存在,同时占用了内存。
http://blog.donews.com/sunbeam/articles/113875.aspx
安装Tapestry
applicationContext-hibernate.xml hibernate.properties
http://news.newhua.com/news1/programming/2007/1224/0712241114300076DI8K0689E7H2DG16.html
MyEclipse配置struts+hibernate+spring
http://dev.csdn.net/article/74902.shtm
hibernate+spring 选择自 f9inux 的 Blog
http://blog.sina.com.cn/s/blog_5016113a01008uvp.html
《spring2.0宝典》学习笔记8整合Hibernate执行持久化操作
http://jbbs.31010.cn/archiver/?tid-323.html
三个JAVA文件完成jsf+spring+hibernate的集成.
http://www.uml.org.cn/j2ee/2006110222.htm
一步一步开发Spring Framework MVC应用程序一步一步开发Spring Framework MVC应用程序
一个dwr+spring+hibernate的示例
http://fangang.javaeye.com/blog/120768
http://www.360doc.com/showWeb/0/0/173772.aspx
整合hibernate和spring这样的文章已经很多了,下面我们来看看如何利用myeclipse的功能为整合提速咯
http://www.blogjava.net/shmily432685/archive/2007/07/10/18233.html
Myeclipse平台struts+hibernate+spring项目开发示例
http://blog.csdn.net/fuliangliang/archive/2007/09/24/1798037.aspx
Spring+hibernate+DWR整合
http://www.xuancheng.org/viewthread.php?tid=144362
Spring+hibernate+DWR整合(讲的不错)
http://13480.blog.163.com/blog/static/1628551420075263357557/
HibernateDaoSupport的使用
http://hi.baidu.com/lxs30/blog/item/3f116cd5af0debc750da4b2f.html
HibernateTemplate and HibernateDaoSupport
如何在MyEclipse快速搭建Hibernate应用
http://it.21cn.com/software/jdjc/2007/12/26/4072591.shtml
http://www.boogu.com/caiContent_6354.html
Tapestry+spring+hibernate基本架构
20080410 java JadClipse eclipse
http://www.yippeesoft.com
在使用Java编写复杂一些的程序时,你会不会常常对一层层的继承关系和一次次方法的调用感到迷惘呢?幸亏我们有了Eclipse这么好的IDE可以帮我们理清头绪--这就要使用Eclipse强大的代码追踪功能。
1、用Open Declaration可以查看类、方法和变量的声明。这是最常用的一个功能了,如果在要追踪的对象上点右键,选择Open Declaration,可以跳转到其声明的地方。这个功能有个快捷键是F3,当然你也可以按住Ctrl键,鼠标移过去会变成一个小手,单击就可以了。
2、用Open Type Hierarchy可以查看类的继承关系,可以在Hierarchy窗口看到继承层次的导航。在方法或类名上点击右键,选择Open Type Hierarchy即可,快捷键是F4。
3、 用Open Call Hierarchy可以查看方法的调用层次。如果想知道一个方法在别的什么地方被调用了,这个功能就很好用了,实际中也很常用,比如要重构一个方法时,想知道他对其它什么地方可能有影响,就可以用这个功能。在方法名上点击右键,选择Open Type Hierarchy即可,快捷键是Ctrl+Alt+H。可以在Call Hierarchy窗口看到方法的调用层次的导航。
4、用Open Super Implemention可以查看当前方法在父类中的实现或接口中的声明(前提是该方法是对父类或接口中相应方法的重写),在方法名上点击右键,选择Open Super Implemention即可。
5、最后介绍一个超级好用的功能,叫Open Implemention,就是可以跳转到某个调用的方法的具体实现的地方去。为什么说这个是超级好用呢?用过Spring的人都知道,现在都提倡面向接口编程,所以,如果使用Open Declaration来追踪一个方法的调用的话,只会看到该方法在接口中的声明,而看不该方法在具体类中的实现,当然,可以使用Call Hierarchy先得到该方法的整个的调用层次,然后再导航到具体的实现处,但操作有些麻烦了。有了Open Implemention,就可以直接看到实现的代码了,在方法名上点击右键,选择Open Implemention就可以了
Ctrl+T 可以方便的在接口和类之间跳转
Content-Length比如“宋体”,它的GB2312编码生成字节序列 0xcb,0xce,0xcc,0xe5,
http://www.kpdus.com/jad.html#download
Jad – the fast JAva Decompiler
http://jadclipse.sourceforge.net/wiki/index.php/Main_Page
JadClipse is a plug-in that seamlessly integrates Jad (the fast Java decompiler) with Eclipse.
Normally, when opening a class file the Class File Viewer will show a brief API outline of the class. If you install this plug-in, however, the Class File Viewer will be replaced with the JadClipse Class File Viewer that shows the decompiled source of the class. This task is accomplished by decompiling the corresponding class file in the background using Jad. Normal Java syntax highlighting as well as the Outline View are supported.
jadclips插件网站:http://jadclipse.sourceforge.net/
一、下载:
下载插件:
下载jadclipse_3.1.0.jar版本,该版本支持eclipse3.1M6以上
下载jadclipse_3.2.0.jar版本,该版本支持eclipse3.2M3和eclipse3.2M4。
下载jadclipse_3.2.2.jar版本,该版本支持eclipse3.2M5以上。
下载Jad反编译工具:
http://www.kpdus.com/jad.html#download,在该页中找到适合自己操作系统平台的jad下载。下载后解压,然后将解压后的jad.exe文件复制到%JAVA_HOME%\\BIN目录下面(可以将jad.exe随便放到哪,只要记住路径就好,下面要用到)。
二、安装:
方法1、直接将jadclipse_3.1.0.jar复制到%ECLIPSE_HOME%\\plugins目录下。
方法2、使用link方式安装,建立E:\\eclipse3.1plugins\\jadclipse3.1.0\\eclipse\\plugins的目录结构,将jadclipse_3.1.0.jar放到plugins目录下面(注:其中E:\\eclipse3.1plugins为你自己定义的一个专门放置插件的目录)。再在%ECLIPSE_HOME%\\links目录下面建立一个jadclipse3.1.0.link文件(该文件名随便取,保证后缀为.link就OK).文件里面内容为:path=E:\\\\eclipse3.1plugins\\\\jadclipse3.1.0。
启动eclipse,打开Window->Preferences->Java->JadClipse,如果没有找到 JadClipse,检查插件安装的版本是否与你安装的eclipse版本对应。我安装的eclipse是:eclipse3.1.2
三、设置参数:
启动eclipse,打开:Window->Preferences->Java->JadClipse。
1、Path to decompiler,这里设置反编译工具jad的全路径名,比如:%JAVA_HOME%\\bin\\jad.exe。
2、Directory for temporary files,这里设置临时文件路径。
至于Window->Preferences->Java->JadClipse目录下的Debug,Directives,Formatting,Misc目录中的参数设置,就不罗嗦。
四、 安装完成后,eclipse自动将JadClipse Class File Viewer设置成class文件的缺省打开方式。如果没有默认,可以在Eclipse的Windows–> Perference–>General->Editors->File Associations中修改“*.class”默认关联的编辑器为“JadClipse Class File Viewer”。设置完成后,双击*.class文件,eclipse将自动反编译
20080410 Eclipse java 开发 1
http://www.yippeesoft.com
先进入cmd并进入到文件所在目录
输入dir /a-d /b *.mp3>1.txt
这样将这个目录下的所有文件都导入到了1.txt文件中
其中可能有我们不需要改名的文件的名字,只需要对1.txt做相应的修改就可以了。
再打开1.txt用记事本的替换功能去除B2U2,另存为2.txt保存在当前目录。即2.txt保存了目的文件名。
现在开始写批处理
@for /f %%a in (1.txt) do (
if exist %%a for /f %%b in (2.txt) do (
rename %%a %%b))
保存在后缀名为bat的文件,也放在当前目录。
这样就可以了
使用eclipse怎样打开已有工程
在开始使用Eclipse的时候,会发现一个问题,那就是如何打开一个现有的Eclipse工程,开始在菜单中找了好久也没找到。
其实,Eclipse生成的结果不像VC,Jcreator那样可以直接打开,若要打开非workspace文件夹下的其他已有工程,可以打开菜单 file->import→general→existing project into space.在select root directory中选中要打开的文件夹即可。此时如果选择copy existing project into workspace就会同时将文件拷贝到workspace下。这里首先要保证要保证Eclipse两个文件.classpath和.project还在,不然无法导入,就是说Eclipse的import只认自己家的东西。
如果要打开的工程与Eclipse的配置不同,在运行时会产生问题。解决方法是:
打开菜单project→properties修改。主要需要修改的是java build path项。
也可以先把要导入的工程直接放在eclipse的工作区目录下,然后用eclipse新建一个工程,名字和导入的工程名字一样,就会自动把整个工程导入进去了。
http://lizemin314.blog.163.com/blog/static/111285122007102843758784/
Eclipse 插件安装、升级和卸载的方法(转)
http://www.bc-cn.net/Article/sjk/mysql/jszl/200601/3436.html
Eclipse+JBoss+MySQL开发环境设置全攻略
http://hi.baidu.com/damoqingquan/blog/item/9a405ada25cfd4dfb6fd48e9.html
eclipse插件安装
Severity and Description Path Resource Location Creation Time Id
ArrayList is a raw type. References to generic type ArrayList<E> should be parameterized jdbc/core line 27 1207725182750 36
9. Eclipse下的Svn配置
版本控制软件SVN的eclipse插件Subclipse,下载地址:http://subclipse.tigris.org/
添加方式:打开MyEclipse,Help—Software Updates—Find and Install…– Search for new features to install. 下一步,New Remote site,在弹出框中,name写“svn”,URL写http://subclipse.tigris.org/update_1.2.x,一路确定下去。
Windows->Preferences->Team检查是否有SVN节点,点击SVN即可看到该插件的设置界面。右击项目名-> Team->Share Project…打开项目共享对话框,对话框有两个选择,一是Eclipse内置的对CVS的支持,还有另外一个就是我们刚装上的SVN。选择SVN进入服务器设置界面,输入svn服务路径,用户名,密码,确认下去,到此完成。
Could not save encoding settings.
Exception occurred while saving project preferences: /.settings/org.eclipse.core.resources.prefs.
问题:当导入html文件出现乱码怎么办!
解决办法:文件--》 右键 --》属性 改文件的编码和网页中所有的编码一致即可!
举例:针对我前面一篇讲如何使mysql,php页面和html页面不出现乱码问题可以有一下解决方案!(现在公认要用utf比较好,所以一律按照utf-8来处理)
1.参照http://blog.csdn.net/bingyupiaoyao/archive/2008/02/06/2085439.aspx我这篇文章解决相关乱码问题!
2将html文件用convertz802转化成utf-8编码(如果已经是就不改)
3.文件--》 右键 --》属性 改文件的编码为utf-8,这样就使得mysql,php,html都没有乱码了!
在eclipse中,报错:
Resource is out of sync with the file system
查阅资料后发现这是文件系统不同步的问题,是因为在eclipse之外对工程中的resource进行修改引起的;但是,有时没有在eclipse之外进行修改,也会报类似的错误。
解决办法:需要手动刷新一下资源管理器。
(1)在eclipse中,工程目录右键,选择F5(refresh)
(2)设置eclipse自动刷新。
通过Window->Preferences->General->Workspace,选中Refresh automatically。
另外今天突然发现以前RCP应用程序启动出错,查看日志,起初以为是RCP导出问题,后来发现即使是HelloWorld的程序系统都运行报错 java.lang.UnsupportedClassVersionError: cn/com/datamanager/Application (Unsupported major.minor version 49.0)。
java -version查看才知机子上还有jre1.4。
原来是装Oracle数据库的时候自动安装的(Sybase比Oracle人性化很多,嘿嘿)。
Tiger的泛型功能使得编译器对类型的安全性进行检查,特别是Java集合,如下面的例子:
public void nonGenericsMethod() &leftsign;
List wordList = new ArrayList(); // no typing information on the List
wordList.add("foo"); // causes error on list addition
&rightsign;
l 编译器会给出下面的警告信息:
Type safety: The method add(Object) belongs to the raw type List. References to generic
type List<E> should be parameterized
l 这对于Tiger的代码是很有帮助的,但对于JDK1.4及以前版本,不断的收到无关的警告信息是很烦人的
l 可以使用@SuppressWarnings来阻止指定类型的警告信息,如:
@SuppressWarnings(value = &leftsign; "unchecked" &rightsign;)
public void nonGenericsMethod() &leftsign;
List wordList = new ArrayList(); // no typing information on the List
wordList.add("foo"); // causes error on list addition
&rightsign;
l 传递给@SuppressWarnings的类型值是一个数组,因此可以同时阻止多种类型的警告信息
Type safety: The method add(Object) belongs to the raw type List. References to generic type List should be parameterized
example
List treenode = new ArrayList
treenode.add(node);
javadoc 中List这样定义 Public interface List<E> extends Collection,Iterable
注意这个<E>,它就是JavaTiger的类型安全标志,到这里可以给出在保证类型安全时例子中的List应该如何定义了: List<TreeNode> treenode = new ArrayList<TreeNode>(); TreeNode为自定义类型,当然可以其它类型了,不过统一使用一种类型就是安全的了,不会有这个警告。
同理,map不加<>也会出现类似的警告
Map<String,Integer> h=new HashMap<String,Integer>();
Severity and Description Path Resource Location Creation Time Id
No start tag (<a>). line 202 1207726134734 4810
http://www.cnblogs.com/sunywong/articles/666875.html
转载:搭建Eclipse+MyEclipse+Tomcat开发环境
配置jboss IDE :点run->debug->点中jboss4.x,在右边选择debug模式,然后新建一个configuration,取名JbossServer4,然后配置jboss安装目录以及运行模式default,保存,然后在window->preferences中选择JBOSS-IDE 下面的launcher,在右边的default server中填入:jboss 4.0.x:JbossServer4 , apply,关闭窗口,这时候菜单default server中的选项都可用了,选择start,就可以启动jboss服务器啦
标签:cli, eclipse, java, 开发20080304 gsoap uclibc 3
http://www.yippeesoft.com
http://www.ibm.com/developerworks/cn/webservices/ws-soa-gsoap/index.html#download
使用 gSOAP 通过 HTTP 和 HTTPS 调用由 WSAD 创建的 J2EE Web 服务
4.Web Service故障处理
http://hi.baidu.com/lijiheng99/blog/item/ba052c08f82dc6d363d9863f.html
http://www.ibm.com/developerworks/cn/webservices/ws-tip-j2eenet4/
Web 服务编程技巧和窍门,第 4 部分: 使用 BPEL 和 WebSphere Business Integration Server Foundation 在业务流程中融合 J2EE 和 .NET 技术
http://msdn2.microsoft.com/zh-cn/library/7h3ystb6(VS.80).aspx
Web 服务描述语言工具 (Wsdl.exe)
http://gsoap2.sourceforge.net/
http://hi.baidu.com/deityz/blog/item/3f332ad9875289ed38012f22.html
gsoap中文文档(转)
1.1 作者URL
http://spaces.msn.com/members/sharklee/?partqs=cat%3D%25e8%25ae%25a1%25e7%25ae%2597%25e6%259c%25ba%25e4%25b8%
258e+Internet&_c11_blogpart_blogpart=blogview&_c=blogpart
2 gsoap文档翻译计划
2.1 gsoap文档翻译计划(序)
Creating Webservice with wasp
http://www.cjsdn.net/post/view?bid=5&id=17856
http://www.systinet.com/products/wasp_advanced/index.html
和demo代码
http://www.theserverside.com/resources/articles/Systinet-web-services-part-1/1.zip
http://www.cs.fsu.edu/~engelen/soap.html
gSOAP eases the development of SOAP and XML Web services in C and C++ by performing XML to C/C++ language binding. By providing a transparent SOAP API that leverages strong typing to map XML schemas to C/C++ definitions, it frees users from the burden of WSDL and SOAP details.
Use gSOAP to implement or interact with web services. It is portable across a variety of platforms, and provides compiler tools for a WSDL parser, and a SOAP stub and skeleton compiler. It follows the WS-I Basic Profile 1.0a compliance recommendations, and warns about potential interopability issues before building a new web service application. This helps to keep users from having to go through another development cycle to make the service compliant. Its supported standards include:
* SOAP 1.2
* SOAP RPC encoding
* SOAP document/literal style
* XML-RPC
* UDDI v2 inquire and publish APIs
* SOAP attachments: MIME, DIME and MTOM
* WS-Addressing
* WS-Discovery
* WS-Security
* SSL/TLS encryption and certificate authentication
http://sourceforge.net/project/showfiles.php?group_id=52781
http://www.ibm.com/developerworks/cn/websphere/library/techarticles/0301_lin/lin.html
使用 WebSphere Studio Application Developer、gSOAP 和 Dev-C++ 为 WebSphere Web 服务新建一个 C/C++ 客户机
http://users.skynet.be/pascalbotte/rcx-ws-doc/gsoap.htm
Chapter 5. Make a SOAP client with C/C++ and gSOAP.
http://www.javaworld.com.tw/jute/post/view?bid=19&id=163966
请问java使用xerces的环境如何配置?我都没有成功过。
http://blog.163.com/sjlksoft@126/blog/static/4001823120071126105951793/
resin的配置
http://www.ccidnet.com/tech/app/2001/09/21/58_3321.html
SOAP净化有线协议(二):Apache SOAP介绍
SOAP(简单对象访问协议)是一种利用XML编码数据的有线协议。它是同类协议中要求最低的一个规范,只定义了有线协议所要求的最关键的部分,有意地忽略了垃圾收集、对象激活等方面的细节。
http://blog.csdn.net/mb459/archive/2005/04/23/360079.aspx
从JDK下载到HelloWorld调试成功
http://blog.csdn.net/wwwwsoe/archive/2007/04/10/1559801.aspx
ava基础:JDK1.6配置
http://www.cn-java.com/www1/?action-viewnews-itemid-3792%27/
jdk1.6环境变量设置。
回答:为什么执行JAVA程序时,会出现Exception in thread"main" java.lang.NoClassDefFoundError的错?…
http://www.newasp.net/tech/java/14714.html
http://blog.chinaunix.net/u/19013/showart.php?id=146551
运用Apache SOAP工具包实现SOAP
http://www.phenshine.com/article.asp?id=34
Xerces下载、安装及运行实例
作者:admin 日期:2006-04-06
http://xerces.apache.org/xerces-j/
Xerces Java Parser 1.4.4 Release
http://www.ibm.com/developerworks/websphere/library/techarticles/0301_lin/lin.html
Creating a C/C++ client for a WebSphere Web service using WebSphere Studio Application Developer, gSOAP, and Dev-C++
http://blog.csdn.net/tuwen/archive/2007/10.aspx
http://www.newasp.net/tech/java/14714.html
回答:为什么执行JAVA程序时,会出现Exception in thread"main" java.lang.NoClassDefFoundError的错?…
http://www.xichy.cn/java/j2ee/469351.shtml
Exception in thread "main" java.lang.NoClassDefFoundError:
JBPM-Decision的用法
http://www.vlight.org/bbs/printthread.php?f=5&t=284
使用gsoap 用c++编写linux下的webservice客户端程序
http://www.fish888.com/gSOAP-Web-Service-t78047
使用gSOAP开发Web Service客户端
gsoap中文文档(8.1.1)
http://www.bugoo.com.cn/bencandy.php?id=37596
http://my.donews.com/singingsilence/2008/01/28/%E7%94%A8c%E5%AE%9E%E7%8E%B0webservice-gsoap/
用C实现WebService — gsoap
http://hi.baidu.com/litkinger/blog/item/17a3843336d674fc1b4cff3f.html
gsoap转载
gSOAP is a free C/C++ SOAP toolkit (alpha) with SSL and WSDL tools.
It includes a full-featured SOAP RPC (and SOAP DOC/LIT) compiler. The kit
provides a rapid application development environment when integrated with
MSVC++ or any other IDE for C and C++. The package includes extensive
documentation and numerous examples.
http://www.cs.fsu.edu/~engelen/soap.html
http://www.pocketsoap.com/4s4c/
4S4C aka Simon\’s SOAP Server Services For COM
http://www.sqldata.com/documents/SoapClient.htm
SOAP Agent
A C++ SOAP Client Library v3.0
http://www.codeproject.com/KB/webservices/SoapClient_CPP.aspx
SOAP client for C++
http://www.soapclient.com/SourceCode.html
SOAP Tools and Source Code
http://dotnettips.com/CommentView,guid,95db05fb-b929-469b-b883-bd5e90ab2a93.aspx
Navigation for dotNetTips.com – SOAP 2.0 Toolkit: SDK and Samples Released
–访问DB2
–创建链接服务器
EXEC sp_addlinkedserver @SERVER=\’srv_lnk\’, –链接服务器名
@srvproduct = \’\',
@provider = \’MSDASQL\’,
@provstr = \’Initial Catalog=PUBS;Data Source=DB2;HostCCSID=1252;Network Address=XYZ;Network Port=50000;Package Collection=admin;Default Schema=admin;\’
–添加登陆用户
exec sp_addlinkedsrvlogin @rmtsrvname = \’srv_lnk\’, @useself = \’false\’, @locallogin = \’sa\’, @rmtuser = \’DB2User\’, @rmtpassword = \’DB2Password\’
–进行查询
select * from OPENQUERY (srv_lnk,\’SELECT * FROM DBName2.Table1Name\’)
http://www.cnblogs.com/pegger/archive/2007/06/18/788133.html
转:轻松掌握ISO8583报文协议
http://blog.chinaunix.net/u1/48834/showart_386144.html
learning python
http://www.itug.cn/Servers/Web/20070820/1560.htm
uClinux下的web server问题和解决方法
ms自己的soap sdk太大了
目前找到个gSoap,使用方式不太好
easysoap还行,但使用者不是很多,大家有什么推荐么
以前用过一个叫Axis的,C++版Bug太多了,Java版的倒是比较稳定。
http://www.bctest.com/checkup/affix/finance/007_other1.txt
POS终端规范
8583包的相关资料06
http://hi.baidu.com/javaing/blog/item/244d5d10daff37fec2ce79d2.html
http://www.cnblogs.com/jojoke/archive/2007/12/14/995146.html
8583解析类
http://www.360doc.com/showweb/0/0/433052.aspx
ISO8583接口详细资料
20080304 gsoap uclibc 1
使用gSoap开发Web Service C/C++客户端
Aigui.LIU@ihep.ac.cn
2006-08-02
一、开发环境准备
1、从gSoap官方网站 http://gsoap2.sourceforge.net下载软件
2、根据文档安装配置gSoap(略)
二、如何开发WEB服务客户端
1、基本流程
(1)从WEB服务提供者获取WEB Service的WSDL文件;
(2)使用gSoap工具wsdl2h,根据WSDL文件生成C/C++语法结构的头文件;
(3)使用gSoap预编译器soapcpp2,根据.h头文件中定义的信息来生成客户端代码框架;
(4)实现客户端例程;
(5)GCC编译客户端,生成可执行代码。
2、一个例子
(1)WEB服务Hello.jws(http://castor.ihep.ac.cn:8080/axis/Hello.jws):
public class Hello &leftsign;
public String hello(String name) &leftsign;
if(name==null)
name = "";
return name +", welcome to the world of web service!";
&rightsign;
&rightsign;
(2)获取WEB服务描述文件hello.wdsl
http://castor.ihep.ac.cn:8080/axis/Hello.jws?wsdl
(3)使用gSoap工具wsdl2h,根据WSDL文件生成C/C++语法结构的头文件hello.h
wsdl2h -c hello.wsdl
-c 表示生成纯C头文件,不加-c生成C++头文件
(4)使用gSoap预编译器soapcpp2,根据.h头文件中定义的信息来生成客户端代码框架
soapcpp2 -c hello.h
-c 表示生成纯C头代码,不加-c生成C++代码
(5)实现客户端例程hello.c
#include "soapH.h"
#include "HelloSoapBinding.nsmap"
int main()
&leftsign;
struct soap soap;
struct ns1__helloResponse ret;
soap_init(&soap);
if (soap_call_ns1__hello(&soap, NULL, NULL, "Aigui.LIU", &ret) == SOAP_OK)
printf("%s\\n", ret._helloReturn);
else
soap_print_fault(&soap, stderr);
soap_destroy(&soap);
soap_end(&soap);
soap_done(&soap);
return 0;
&rightsign;
(6)GCC编译客户端,生成可执行代码hello
$(CC) $(CFLAGS) -o hello hello.c soapC.c soapClient.c $(SOAPC)
其中(Makefile中定义),
GSOAP_PATH=/home/liuag/software/gsoap/gsoap-linux-2.6
SOAPC=$&leftsign;GSOAP_PATH&rightsign;/stdsoap2.c
CC=gcc
COFLAGS=-O2
CWFLAGS=-Wall
CIFLAGS=-I $&leftsign;GSOAP_PATH&rightsign;
CMFLAGS=
CFLAGS= $(CWFLAGS) $(COFLAGS) $(CIFLAGS) $(CMFLAGS)
(7)运行结果
$ ./hello
$ Aigui.LIU, welcome to the world of web service!
三、参考文献
1、http://gsoap2.sourceforge.net
2、gSoap User Guide
在实作SOAP讯息解析/建构的功能时,本文是重
用gSOAP程式库辅助软体介面的建构,gSOAP程
式库除可完成SOAP讯息的解析与建构之外,也
可产生客户端stub与伺服器端skeleton,如此可减
少程式设计师的负担.
本文利用gSOAP所
提供的程式库实作SOAP parser与message generator,而SOAP介面中的HTTP
Interface,虽然可自行设计,但本文则是重用thttp作为HTTP Interface,因为thttp
除具有执行效率良好的优点,并且拥有良好的安全机制,可以保护关键功能不被
窃取或攻击.
采用gSOAP辅助客户端程式的开发,使用的方法如下:
1. 使用wsdl2h从服务描述档产生对应的C语言标头档.
2. 以soapcpp2由C语言标头档产生客户端的stub.
3. 使用stub建构客户端程式.
第一步骤所产生的C语言标头档,是使用gSOAP工具时所产生的暂存档案,在
之后建构客户端的过程中并不会用到,而客户端的stub会负责将呼叫包装成
SOAP讯息经由网路传送到客户端,并且处理有关错误的讯息以及资料的序列
化,除此之外,stub也会将远端的功能包装成一系列可程式化介面,供程式设计
师使用,因此当程式设计师需使用关键的功能时,只需呼叫由gSOAP产生的
stub,即可使用关键运算功能.
软体工程师在开发客户端程式时,可能会发生错误,这时可用由Axis所提
供的TCPMonitor,来监控客户端雨嵌入式系统之间传送的讯息.
No hablo bien espagnol
pero credo que es bastante para un contenudo technico !?
Ho encrontrado esta error
la solucion fue d\’incluir el "nsmap" file in el "main"
Aqui las lineas que ho incluido en el "soapClient.cpp"
//// Ajout de JLV
#include "AjoutServiceSoap.nsmap"
#include "soapAjoutServiceSoapProxy.h"
const char server[] = "http://localhost/AjoutWS/AjoutService.asmx";
int main(int argc, char **argv)
&leftsign;
AjoutServiceSoap s;
struct soap soap;
soap_init(&soap);
_ns1__Ajout req;
req.soap = &soap;
int x=1, y=2;
req.x=x; req.y=y;
struct soap soap2;
soap_init(&soap2);
_ns1__AjoutResponse rep;
rep.soap = &soap2;
s.__ns1__Ajout(&req, &rep);
printf("reponse=%d", rep.AjoutResult);
soap_destroy(&soap2);
soap_end(&soap2);
soap_destroy(&soap);
soap_end(&soap);
return 0;
&rightsign;
//// Ajout de JLV
there is also a Qt based application server that supports XML-RPC based on web services: FEAST.
http://trolltech.com/partners/direct…ers/clausmark/
http://dist.trolltech.com/pdf/Clausm…nBrief_web.pdf
http://www.clausmark.com/feast_en.phtml
FEAST handles the concurrent user situation as well as taking care of
backend data sources with connection pooling etc. Actually FEAST is more
then a server; it is development framework for distributed applications
based on Qt.
FEAST uses SOAP HTTP as the communication protocol (it does not rely on
gSOAP though and does away with several of the limitations of gSOAP) so it is easy to use over the internet through firewalls
This is a post more for gSOAP than Qt.
It\’s about the "error LNK2001: unresolved external symbol _namespaces" reported by xgoan.
Since this is one of the few places i\’ve found mentioning this problem, i just want to post the solution for anyone suffering the same problem.
The fix is to #include the nsmap file that is generated by gSOAP in your own cpp files:
#include "soapH.h" // or whatever it is called, you must already have it
#include "whatever.nsmap" // this is what you have to add to fix the problem
The solution was originally posted in an spanish forum:
http://www.programacion.com/foros/37/msg/171805
基于.net开发平台项目案例集锦
he author has port gSoap to vXworks. In fact, it is written in ANSI C
and easy to port other platforms. I have ported it to ARM7TDMI +
uCLinux
for more infomation, please refer to author\’s website:
http://www.cs.fsu.edu/~engelen/soap.html
http://www.info-life.cn/?cat=3
标签:cli, gsoap, lib, soap, uclibc20080304 gsoap uclibc 1
Clinux 内核编译常见错误及解决方法(uClinux kernel compile Troubleshooting)
http://chinajz.spaces.live.com/blog/cns!ead556f11efe5c17!176.entry
PRB: R6009 完全堆时针对环境 " 没有足够空间 ":
http://support.microsoft.com/kb/63382
Q config/autoconf.h: No such file or directory
A #include <config/autoconf.h>=====>
#include <linux/autoconf.h>
ABOUT
./uClibc/include/paths.h
./uClibc/libc/sysdeps/linux/common/syscalls.c
http://www.ckacka.com/wordpress/?p=4
构建从x86到ARM的交叉编译工具链
uClibc的设置(可选的C库)
$ cd $&leftsign;PRJROOT&rightsign;/build-tools/
$ tar zxf uClibc-0.9.16.tar.gz
$ cd uClibc-0.9.16
$ make CROSS=arm-linux- menuconfig
设置uClibc
选项 设置
KERNEL_SOURCE $&leftsign;PRJROOT&rightsign;/kernel/arm-linux-2.4.19
DEVEL_PREFIX $&leftsign;PRJROOT&rightsign;/tools/uclibc
DEVEL_TOOL_PREFIX $&leftsign;PRJROOT&rightsign;/tools/uclibc/usr
编译并安装uClibc
$ make CROSS=arm-linux-
$ make CROSS=arm-linux- PREFIX="" install
uClibc会在$&leftsign;PRJROOT&rightsign;/tools/uclibc/usr/bin目录生成gcc wrapper (arm-uclibc-gcc,arm-uclibc-ld等),用以编译基于uClibc的应用程序。
动态链接
$ make CROSS_COMPILE=arm-uclibc-
静态链接
$ make CROSS_COMPILE=arm-uclibc- LDFLAGS="-static"
The path \’/linux-2.4/include/asm\’ doesn\’t exist.
I bet you didn\’t set KERNEL_SOURCE, TARGET_ARCH or UCLIBC_HAS_MMU
correctly when you configured uClibc. Please fix these settings.
原来要填写绝对路径
http://tech.ccidnet.com/art/302/20071220/1315799_1.html
嵌入式基础:ARM下GCC交叉编译器的制作
5.编译uclibc库
make menuconfig
make CROSS=arm-linux-uclibc-
make PREFIX="/staging_dir" install
注:在menuconfig配置中,Library Installation Options的参数设置如下:
(/lib) Shared library loader path
(/) uClibc runtime library directory
(/usr/) uClibc development environment directory
在/staging_dir/usr目录下会生成include和lib两个目录,这两个目录会生成下一步制作gcc所需要的文件,已经被我们链接到相应的目录里去了。如果之前没有把目录链接到安装目录下的lib和include中,则下步编译gcc会出现许多错误,比如找不到crt?.o等等。
http://www.xxlinux.com/linux/e/DoPrint/?classid=14&id=1502
kernel uclibc bootloader 的编译方法
http://www.ebdev.com/jupiter/kernel_uclibc.htm
KERNEL 编译 Compile by default configuration (Can compile for Jupiter or virgine) 首先运行cygwin 进入E:\\cygwin\\home\\administrator\\uClinux-eisc\\uClinux-2.4.20 i. Execute the following at cygwin 1. > make mrproper 2. > make Jupiter_config # or make virgine_config 3. > make oldconfig 4. > make dep 5. > make ii. At last “romimage.bin” is generated through above process iii. “romimage.bin” is combined with these part. 1. seloader.bin (bootloader image) 2. linux.bin (linux kernel image) 3. rdgz.bin (compressed ramdisk image) B. Configuration revision i. Execute following between ‘2’ and ‘3’ in process ‘i’. ii. > make menuconfig (if xfee86 is installed, “make xconfig”) 详见UClinux for EISC user manual.doc文件 如果只是修改了部分程序,不用重头编译,只需要将所修改的程序的*.o文件手工删除。 然后进入:\\cygwin\\home\\administrator\\uClinux-eisc\\uClinux-2.4.20 执行make uclibc 编译 进入E:\\cygwin\\home\\administrator\\uClinux-eisc\\uClibc 执行make bootloader 编译 进入E:\\cygwin\\home\\administrator\\uClinux-eisc\\forJupiter\\seloader 执行make clean make 注意1.:在cygwin下换行符“\\”有时不能被识别,如果出错就把\\去掉,并把分开的程序变成 同一行。 注意2.:在makefile中,有些仍使用/uclinux-2.4.6/include/,请改为/uclinux-2.4.20/include/,因为 我已经使用uclinux-2.4.20,所有的库要重新编译。 因为有缺省文件,顺序可以颠倒。
uclibc是uclinux提供的c支撑库,适用于资源有限的嵌入式系统。
由于普通linux以及libc体积较大,于是有人开发了uclinux,系统体积小,功能强大。与普通linux很相像,区别主要是缺乏mmu(内存管理单元)。
http://www.uclibc.org/downloads/old-releases/
http://lanka83.blog.163.com/blog/static/32637615200766101346994/
gcc 编译器常用的命令行参数一览
http://oss.lzu.edu.cn/blog/article.php?uid_7/tid_1546.html
GCC编译的背后(第二部分:汇编和链接)
http://oss.lzu.edu.cn/blog/article.php?uid_7/tid_1546.html
GCC编译的背后(第二部分:汇编和链接)
arm-elf-gcc -I../.. -o exerclient exerclient.c soapC.c soapClient.c ../../stdsoa p2.c
../../stdsoap2.c: In function `soap_code_bits \’:
../../stdsoap2.c:1323: warning: comparison is always true due to limited range o f data type
http://wanghaibo.spaces.live.com/
用AdventNet SNMP API获取SNMP表信息(C#)
http://download.csdn.net/source/318095
java实现 带完整源代码和文档基于SNMP/MIB的网络数据获取系统设计与实现基于AdventNet SNMP API 这是我以前做的课程,现在翻出来,拿出来跟大家共享!
基于SNMP/MIB的网络数据获取系统设计与实现
http://blog.csdn.net/zhoudshu/archive/2007/04/02/1549812.aspx
采集器C++代码在Red Hat各版本操作系统移植出现得问题
http://hi.baidu.com/sunshinexyz/blog/item/2cf46a23dc4eb54c925807d9.html
GCC警告选项例解
http://blog.sina.com.cn/u/53ebc106010006sg
C和C++混合编程
http://wwwww.javaeye.com/blog/28390
Make的使用方法
getName.java:1: package og.apache.xerces.parsers does not exist
import org.apache.xerces.parsers.DOMParser;
^
getName.java:12: cannot find symbol
symbol : class DOMParser
location: class getName
DOMParser parser = new DOMParser();
^
getName.java:12: cannot find symbol
symbol : class DOMParser
location: class getName
DOMParser parser = new DOMParser();
^
I bet you didn\’t set KERNEL_SOURCE, TARGET_ARCH or UCLIBC_HAS_MMU
/home/sf/uclua/uClinux-dist/linux-2.4.x
make CROSS=arm-linux- PREFIX="/home/sf/uclua/uClinux-dist/uClibc" install
I bet you didn\’t set KERNEL_SOURCE, TARGET_ARCH or UCLIBC_HAS_MMU
Error 6 fault: SOAP-ENV:Client [no subcode]
"No XML element tag"
Detail: [no detail]
<?xml version="1.0" encoding="utf-8" ?>
20071029 java cldc uclinux
http://www.yippeesoft.com
移植KVM到arm-linux(1)
http://jayya.com/?p=109
KVM在嵌入式Linux上的移植
http://blog.csdn.net/zht_sir/archive/2007/06/03/1636342.aspx
http://dev.csdn.net/author/fyzhao/3ee7494bceb94997bf418b42a8bd009a.html
KVM本身只带有cldc1.1的类库,功能十分简单,不能满足用户的需求,本篇介绍如何对KVM进行扩展。
对KVM进行扩展,在Java层十分简单,只要向在编译Java代码时多加一个文件就可以,没什么要说的,麻烦的是如果在加入的Java类中有本地操作该怎么办?本地的C语言代码放在哪里编译才能够供KVM调用?
答案是KNI。下面就以KNI为主要内容介绍如何对KVM加以扩展,在最后附加一个具体的实现例子。
1. KNI的特点:
KNI(K Native Interface)是SUN的KVM(K Virtual Machine)所使用的本地方法调用机制。
JNI(Java Native Interface)是已经为我们所熟悉的Java本地方法调用机制,JNI一般使用在J2SE或J2EE平台上,本地方法被编进动态链接库,在运行时由Java虚拟机载入。
KVM中也需要本地调用,但JNI是“重量级”的本地调用方式,在使用时消耗的资源较多,所以针对KVM设计出了KNI,KNI被称为是JNI的一个简化版,是“轻量级”的本地调用方式。KVM不能加载动态链接库,所以在KNI机制下,本地方法不是写在库中,而是编入虚拟机内部。
以下是KNI与JNI最重要的一些区别:
KNI是“实现层”的API,即它是虚拟机实现的一部分,修改KNI的API就要重新编译虚拟机,这些API的细节对于Java程序员来说是不可见的;而JNI的API是在运行时动态加载进来的,它的修改与虚拟机无关,JNI的API对于Java程序员来说是可见的。
KNI的函数建在虚拟机内部,只能为此虚拟机所独享;而JNI的函数放在动态链接库中,可以为多个虚拟机共用。
由于在虚拟机内部,KNI的很多操作方式与虚拟机有关,在传递参数和控制对象的时候都要先经过一些特别的处理;JNI的调用方式比较直接,但可能会增加安全隐患。
KNI是JNI的简化版,功能也会弱一些,它不能创建对象,也不能调用Java层的方法。
总之,“在虚拟机内部”是KNI所有特点的根源,记得这一点,KNI的所有内容都非常容易理解。
KVM Porting 指南
4。KVM源码概览
4.1目录结构概览
解压KVM包后,在你的目录下生成如下子目录。(假定父目录为j2me_cldc1.0.3)
目录j2me_cldc1.0.3:
■api-Java类库源码
■bin-可执行文件,编译的类库
■build-编译用的makefile
■docs-说明文件
■jam-JAM(Java Application Manager)源码
■kvm-KVM源码
■samples-试例程序源码
■tools-辅助工具的源码(如JavaCodeCompact, preverifier,kdp,palm tool等)
目录j2me_cldc1.0.3kvm:
■VmCommon-所有公用的,平台无关的KVM源码都在该目录下
■VmExtra-公用的,可选的组件的源码
■VmUnix-针对Unix
■VmWin-针对Windows
目录j2me_cldc1.0.3kvmVmCommon:(所有公用的,平台无关的KVM源码)
■h-include文件
■src-源码
注:当你要port时,可以把你自己平台相关的源码置于kvm目录之中。例如我要port到W
inCE我可以这样安排我的源码(kvmVmWinCEsrc-我的源码,kvmVmWinCEh-我的头
文件,kvmVmWinCEuild-我的makefile)。
4.2 KVM源码功能简述
在j2me_cldc1.0.3kvmVmCommonsrc和j2me_cldc1.0.3kvmVmCommonh中包含了K
VM所有公用的,平台无关的源码和头文件,如下表所示:
------------------------------------
File Description
------------------------------------
StartJVM.c VM的启动和命令行的读取
bytecodes.c Java bytecodes的定义,自KVM1.0.2后,bytecode解释器被从新设
计,这部分从interpret.c分离出来。你可以定制VM,使用这里定义的bytecode的子集或
超集。
cache.h 内联缓存(inlinecaching)的支持,用以加快方法检索(
cache.c method lookup)的速度,并支持"fast" bytecodes.(注:关于m
ethodlookup请参考JLS15.12.4)
class.h 运行时java类的内部数据结构和操作
class.c
events.h 实现事件处理系统
events.c
execute.h 解释器的执行宏和操作
execute.c
fields.h 用以存储不同类型的域(field)的运行时内部结构。当一个
fields.c 新类被载入VM时,就会生成一张由这些域组成的表。
frame.h 定义栈帧(stack frame)和异常处理(exceptionhandling )的
操作。
frame.c
garbage.h 垃圾处理器和内存管理。
garbage.c
collector.c
collectorDebug.c
global.h 大量全局变量的定义
global.c
hashtable.h 实现VM内部使用的哈希表
hashtable.c
interpret.h bytecode解释器。
interpret.c
loader.h 类载入器。
loader.c
log.h 记录并输出运行时VM的诊断信息
log.c
long.h 处理64bit运算的特殊的宏
main.h 编译的选项及系统的预制设定。
messages.h 错误与警告信息
native.h JVM所需的native函数和核心native库,注意,KVM是不使用
native.c JNI(Java Native Interface)的,JNI对小设备来说开销太大了。
nativeCore.c
pool.h 常量池(Constant pool)的管理。
pool.c
profiling.h 用以描述VM的执行的数据声明与操作
profiling.c
property.h 取得Java系统特性的操作。
property.c
rom.h ROMizer(JavaCodeCompact tool) 所需的宏.
runtime.h 平台特有的操作的函数原型定义,注意这里定义的函数通过一个r
untime_md.c来实现。这也就是说runtime_md.c是建立在你想要port的平台特性之上的。
stackmap.c Stackmap操作用于支持额外的垃圾收集。
thread.h 多线程的支持与java的线程管理。
thread.c
verifier.h 类文件审核器
verifier.c
增加KVM中的系统调用API
http://kaober.spaces.live.com/
在Palm开发JAVA程式的心得
http://bbs.ustc.edu.cn/cgi-bin/bbsanc?path=/groups/GROUP_4/Java/D900879D8/D7BE53F98/M.1933.A
KVM Porting 指南⑵
http://www.zixi.net/article/show.asp?id=37082&Page=2
20071024 uclinux java jikes kaffe
http://www.yippeesoft.com
据说KAFFE可以运行在UCLINUX,可是。。。。。
说要JIKES。。。
然后要 zlib。。。。。。
我想,这样还能到UCLINUX。。。。。。。
We have successully ported Kaffe JVM (www.kaffe.org) to our
ARM7TDMI/uClinux platform (B2).
Kaffe was initially developed for x86/Linux platform but it\’s enough
flexible to fit an embedded system too!
I have not tryied to port CDC due the fact that it\’s not an opensource project.
Unfortunately I have never worked with OSGi Framework so I don\’t really
know if it\’s needs some special
feature of the JVM (is it pure Java code or has some native code too?).
Maybe you can ask to Kaffe mailing list too
set JAVA_HOME=/home/sf/j2sdk1.4.2_04
export JAVA_HOME=/home/sf/j2sdk1.4.2_04
set PATH=$JAVA_HOME/bin:$PATH
export PATH
set CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export CLASSPATH =.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
-bootclasspath bootclasspath
Cross-compile against the specified set of boot classes. As with the user class path, boot class path entries are separated by colons (:) and can be directories, JAR archives, or ZIP archives.
-extdirs directories
Cross-compile against the specified extension directories. Directories is a colon-separated list of directories. Each JAR archive in the specified directories is searched for class files.
As you can see, Jikes has moved again. We\’re now hosted at SourceForge®. This move was a result of IBM\’s decision to pull out of the project hosting space. Since there was a great amount of similarity between sf.net and dw/oss, the change will be mostly cosmetic.
SourceForge.net Logo
What is Jikes?
JikesTM is a compiler that translates JavaTM source files as defined in The Java Language Specification into the bytecoded instruction set and binary format defined in The Java Virtual Machine Specification.
You may wonder why the world needs another Java compiler, considering that Sun provides javac free with its SDK. Jikes has five advantages that make it a valuable contribution to the Java community: [OSI Certified Logo]
* Open source. Jikes is OSI Certified Open Source Software. OSI Certified is a certification mark of the Open Source Initiative.
* Strictly Java compatible. Jikes strives to adhere to both The Java Language Specification and The Java Virtual Machine Specification as tightly as possible, and does not support subsets, supersets, or other variations of the language. The FAQ describes some of the side effects of this strict language conformance.
* High performance. Jikes is a high performance compiler, making it ideal for use with larger projects.
* Dependency analysis. Jikes performs a dependency analysis on your code that provides two very useful features: Incremental builds and makefile generation.
* Constructive Assistance. Jikes strives to help the programmer write better code in two key ways. Jikes has always strived to provide clear error and warning text to assist the programmer in understanding problems, and now with release 1.19 Jikes helps point out common programming mistakes as documented in Effective Java.
The Config
CC=m68k-elf-gcc NM=m68k-elf-nm AR=m68k-elf-ar \\
CFLAGS="-Wall -g -m5307 -Wl,-elf2flt -Os -lc " \\
LDFLAGS="-g -m5307 -Wl,-elf2flt" \\
KAFFEH=/root/workspace/kaffe/kaffe/kaffeh \\
/root/workspace/kaffe/configure \\
–host=m68k-linux \\
–build=i686-linux \\
–with-engine=intrp \\
–enable-pure-java-math \\
–with-threads=unix-jthreads \\
–disable-direct-threading \\
–prefix=/uclinux/jvm/ \\
–disable-fastjar \\
–disable-sound \\
–disable-alsa \\
–without-alsa \\
–without-esd \\
–disable-gtk-peer \\
–disable-alsatest \\
–disable-esdtest \\
–without-x \\
–disable-xmltest \\
–disable-xslttest \\
–disable-debug \\
–disable-native-awt \\
–disable-feedback \\
–without-profiling \\
–without-stats \\
–disable-gcj \\
–disable-xawt-xi18n \\
–disable-fastjar \\
–disable-shared \\
–with-staticlib \\
–with-staticbin \\
–with-staticvm \\
–without-gmp \\
–disable-rpath \\
–disable-libtool-lock \\
–with-jikes=/opt/jikes/bin/jikes
~
Error Code: 258
MSI (s) (40!CC) [19:00:16:625]: 产品: Microsoft SQL Server 2005 — 错误 29515。SQL Server 安装程序无法连接到数据库服务进行服务器配置。 错误为: [Microsoft][SQL Native Client]共享内存提供程序: 超时错误 [258]. 有关详细信息,请参阅服务器错误日志和安装日志。有关如何查看安装日志的详细信息,请参阅 SQL Server 联机丛书中的“如何查看安装日志文件”。
错误 29515。SQL Server 安装程序无法连接到数据库服务进行服务器配置。 错误为: [Microsoft][SQL Native Client]共享内存提供程序: 超时错误 [258].
同事点个重试就OK了。。。。。。
Compiling Kaffe
—————
- Configure-ing:
1. You must decide if you will use a static or a dynamically linked VM.
In most cases a shared VM is the preferable scenario – it\’s smaller but you
need to be sure that you have all the libraries needed on the target device.
In this case specify the following options to the configure script:
In the case when only java based applications will run on the device and they
will be started directly after the kernel boots (for example instead of init)
it is a good idea to use a static VM and no libraries on the target board.
Pass these options to configure:
2. Choose the engine.
My experience shows that on systems with slower CPUs the intrp engine is
faster than jit.
You might try both of them to see what fits your needs/device best.
The factor here is the speed because the difference between the storage used with jit and
the one used with intrp is not considerable. If your target platform supports jit3 you
may consider testing that too.
3. Remove the profiling and debugging (at least for the final sollution):
–disable-debug
–disable-xprofiling
–disable-xdebugging
–disable-feedback
–without-profiling
–without-stats
To be sure that these are applied (for example) check the gcc otptions used during the compilation
for "-g".
4. If you don\’t enable the use of pthreads you will save some storage space from the
libpthreads.so but if other applications will use it on the target device you might
enable it.
5. Disable the gcj support:
–disable-gcj
20071024 uclinux java
http://www.yippeesoft.com
嵌入式Linux与Java
Java 2 Micro Edition(J2ME官方站点)
http://www.javasoft.com/j2me/
waba为小设备提供一个编程平台。它被定义为一种语言,一个虚拟机,一个类文件格式以及功能类的设置。
http://wabasoft.com/products.shtml
Kaffe is a clean room implementation of the Java virtual machine, plus the associated class libraries needed to provide a Java runtime environment. The Kaffe virtual machine is free software, licensed under the terms of the GNU General Public License.
Kaffe is a great choice as a base for virtual machine education and/or research, or if you need a virtual machine as an integral component of an open source or free software Java distribution.
http://www.kaffe.org
Wonka(一个java虚拟机,超小)
http://www.acunia.com/wonka
-msoft-float
Generate output containing library calls for floating point. Warning: there
is no GNU floating-point library for SPARC. Normally the facilities of the
machine\’s usual C compiler are used, but this cannot be done directly in
cross-compilation. You must make your own arrangements to provide suitable
library functions for cross-compilation.
-msoft-float changes the calling convention in the output file; therefore,
it is only useful if you compile all of a program with this option.
关于怎样查出一个库函数到底在哪个库文件中,我想到一个变通的办法,以查找fcntl函数在哪个库文件中为例吧:
1、找到一个使用fcntl的可执行文件,如test_fcntl。实在不行,自己编一个只有fcntl函数的c文件,然后编译一下得了。
2、使用“ldd test_fcntl”命令,可以追踪出该可执行文件到底使用了哪些库文件。通常可能有几个到几十个。
3、根据要查找的函数的作用和上一步所得到的各库文件的名字大致推测一下,该函数可能会在哪个或哪些库中。
4、最后使用"nm test_fcntl"命令,依次查找一下第三步所得到的库文件,通常就可以最后确定fcntl函数到底在哪个库中。
比如,我用上面的方法查出fcntl函数在“/lib/tls/libc.so.6”库中。
sun公司的虚拟机现在只有java卡虚拟机原码不开放,其他的都已经开放了,只不过对中国大陆地区有点儿限制。大家努力一下,下载到应该不难。
在网上已经有其他公司虚拟机的产品,比较有名的是kaffe虚拟机,他们针对不同的平台都开发了相应的java虚拟机,大家有兴趣可以到 www.kaffe.org网站上去看看,网站上提供了移植的文档。现在在消费类电子产品上运行java程序已经是一种趋势(java 语言产生的原始动力就在于此:)),java虚拟机也应该会成为各个嵌入式产品厂商研究的热点,如果看到java程序在自己虚拟机上运行流畅,会很有成就感的:)
4.2 KVM源码功能简述
在j2me_cldc1.0.3\\kvm\\VmCommon\\src和j2me_cldc1.0.3\\kvm\\VmCommon\\h中包含
了KVM所有公用的,平台无关的源码和头文件,如下表所示:
------------------------------------
File Description
------------------------------------
StartJVM.c VM的启动和命令行的读取
bytecodes.c Java bytecodes的定义,自KVM1.0.2后,bytecode解释器被
从新设计,这部分从interpret.c分离出来。你可以定制VM,
使用这里定义的bytecode的子集或超集。
cache.h 内联缓存(inlinecaching)的支持,用以加快方法检索(
cache.c method lookup)的速度,并支持“fast” bytecodes.(注:
关于methodlookup请参考JLS15.12.4)
class.h 运行时java类的内部数据结构和操作
class.c
events.h 实现事件处理系统
events.c
execute.h 解释器的执行宏和操作
execute.c
fields.h 用以存储不同类型的域(field)的运行时内部结构。当一个
fields.c
新类被载入VM时,就会生成一张由这些域组成的表。
frame.h 定义栈帧(stack frame)和异常处理(exceptionhandling
frame.c
)的操作。
garbage.h 垃圾处理器和内存管理。
garbage.c
collector.c
collectorDebug.c
global.h 大量全局变量的定义
global.c
hashtable.h 实现VM内部使用的哈希表
hashtable.c
interpret.h bytecode解释器。
interpret.c
loader.h 类载入器。
loader.c
log.h 记录并输出运行时VM的诊断信息
log.c
long.h 处理64bit运算的特殊的宏
main.h 编译的选项及系统的预制设定。
messages.h 错误与警告信息
native.h JVM所需的native函数和核心native库,注意,KVM是不使用
native.c JNI(Java Native Interface)的,JNI对小设备来说开销太大
nativeCore.c 了。
pool.h 常量池(Constant pool)的管理。
pool.c
profiling.h 用以描述VM的执行的数据声明与操作
profiling.c
property.h 取得Java系统特性的操作。
property.c
rom.h ROMizer(JavaCodeCompact tool) 所需的宏.
runtime.h 平台特有的操作的函数原型定义,注意这里定义的函数通过
一个runtime_md.c来实现。这也就是说runtime_md.c是建立
在你想要port的平台特性之上的。
stackmap.c Stackmap操作用于支持额外的垃圾收集。
thread.h 多线程的支持与java的线程管理。
thread.c
verifier.h 类文件审核器
verifier.c
------------------------------------
在j2me_cldc1.0.3\\kvm\\VmExtra\\src和j2me_cldc1.0.3\\kvm\\VmExtra\\h中包含
了KVM所有外加的公用平台无关的源码和头文件,其中主要包括windows、Unix下最
常见的网络协议的实现;把类载入目标平台的文件接口(该目标平台拥有一个常规
的文件系统);检视,解压缩JAR文件的工具;还有Jave级的debugger和KDWP(
KVM Debug Wire Protocol)接口的实现。除了上述之外,还包括一些用来处理异步
事件的额外的宏,并定义了VM的一些在非嵌入式,基于命令行的系统(如windows和
Solaris)上运行所需要的启动操作。
\\VmExtra中的文件如下表所示:
———————-+————————————————–+
文件 描述
———————-+————————————————–+
async.h 支持异步I/O的宏。
loaderFile.c 从文件系统中载入Java类文件的操作。
main.c 缺省的main程序,用于具备文件系统并支持VM从命令行启
动的平台。
jar.h 阅读、解压Jar文件的相关操作。
inflate.h
inflateint.h
inflatetables.h
jar.c
inflate.c
commProtocol.h windows、Unix下常见的网络协议的实现,如串行端口通
commProtocol.c 讯,套接字(socket),数据报(datagram)等。
socketProtocol.h
socketProtocol.c
datagramProtocol.h
datagramProtocol.c
resource.c 读取外部资源的流式(stream-based)协议的实现。
debugger.h Java级debugger和KDWP接口的实现。
debugger.c
debuggerCommands.h
debuggerStreams.h
debuggerInputStream.c
debuggerOutputStream.c
debuggerSocketIO.c
fakeStaticMemory.c 内存管理的定义,可以使KVM在Windows/Unix下模拟特
殊的USESTATIC模式(也称"simonizing"),以便调试。
这种模式最初是为Spotless/KVM系统开发的,用以克服
一些Palm独有的内存限制。
nativeSpotlet.h 定义事件处理的底层操作和对宿主操作系统的事件的截
nativeSpotlet.c
取例程,以及为事件调用已注册的handler方法。
20071024 uclinux kvm Illegal instruction
http://www.yippeesoft.com
java2和java有什么不同?我一直弄不明白的问题,经过几天对java的深入了解,原来问题是这样的….
~
其实,SUN公司把Java在其SDK 1.2之后的版本都统称叫Java 2
~~~~~~~~~~~~~~~~~~~~~~~~~~~
KVM已经清楚了,我也知道K是kilo的意思,中文意思是“千”,java虚拟机简写应该是JVM才对,K从何而来……
~
由于KVM最小只要160K bytes的记忆体就可以执行,因此称为 K Virtual Machine,其中K是表示kilo byte的意思,其中包含了128K用来执行Virtual Machine及本身所必须具备的基本Libraries。
KVM只需要若干千字节(KB)就能实现其完整的功能,这就是K的来由,我想它的确很好的概括和体现了KVM的特点和优点。
P.S:Libraries:库,程序[文件,对象]库。
KVM 是最小的运行时环境的一部分,包含在 Java 2 Platform, Micro Edition(J2ME 平台)软件中,适用于那些内存和 CPU 能力有限的设备。移动电话、寻呼机和个人数字助理 (PDA) 中通常会运行 KVM,用以提供常见的计算功能。
KVM 类似于 JVM(Java 虚拟机),它也包含运行用 Java 技术编写的应用程序和小应用程序的引擎。KVM 适用于无线电话和移动设备,而 JVM 则适用于计算机。Java 2 Platform, Standard Edition(J2SE 平台)包含 JRE、Plug-in 软件和 JVM。
J2ME 技术使用包括 KVM 在内的许多不同大小的虚拟机。KVM 只是 CLDC(有限连接设备配置)的一项应用,它用于在移动设备上运行 Java 软件。
JCVM
JVM这个可能是全世界跑得最多的虚拟机了,但是随着智能卡大面积进入市场,JVM将会让位给这个JAVA虚拟机的最小版本—-JCVM.
Java Card虚拟机(JCVM)规范定义了Java程序设计语言的一个子集和一个用于智能卡的兼容Java的虚拟机,包括二进制数据表示和文件格式,以及JCVM指令集
KVM是 Kilobyte Virtual Machine (千字节虚拟机),那么命名是因为它的内存大小是以千字节来量度,而不是像 Java虚拟机那样需要兆字节。 因为有这么苛刻的内存要求, KVM的功能只是完整 JVM的的子集。 你可以从 Javasoft站点上找到全部的信息,但是值得注意的是它不支持reflection、JNI和自定义类装载器以及可变的安全机制。这里是一种ARM芯片上的KVM结构示意图。
需要注意的是,Sun的KVM实现了Sun定义的虚拟机的规范,但是开发Java KVM的不只是Sun一家。IBM也有Java KVM,它的名字叫做J9,可以运行在WinCE上。据说J9的运行效率比Sun的KVM要高
# ./kvm -classpath ./ HelloWorld
Hello World!
public class HelloWorld &leftsign;
public HelloWorld() &leftsign;
System.out.println("Hello World!");
&rightsign;
public static void main(String arg[]) &leftsign;
HelloWorld hw = new HelloWorld();
&rightsign;
&rightsign;
# ./kvm -classpath ./ HelloWorld
Illegal instruction
第一类手机游戏是J2ME平台(Java 2 Micro Edition),J2ME本是为嵌入式平台设计的Java,但由于Java生来就需要Java虚拟机(JVM)来解释,所以在嵌入式产品很少用J2ME(太慢太耗内存)。但在手机游戏中J2ME倒有用武之地,我想这可能主要是Java可跨OS平台的原因,因为手机的OS是千奇百怪的。我对J2ME完全外行,但上次听Square Enix公司的人说,J2ME与我们同学学过的J2EE还是有较大差别的。据我所知,目前手机中用的较多的是KJava语言,KJava是运行在一种叫K Java Virtual Machine的解释器上(K JVM是SUN早期为演示J2ME在嵌入式系统应用而开发的一个虚拟机),所以将在K JVM上运行的J2ME叫KJava。尽管SUN说今后不保证支持K JVM,将开发新的更高性能的J2ME虚拟机取而代之,但由于KJava出现较早,很多早期的手机游戏软件都将K JVM假想成J2ME虚拟机的标准了,所以目前有大量的KJava手机游戏软件存在,而且还在用KJava继续开发。特别是日本的手机游戏软件由于开发较早(像叫什么 docomi的日本最大的电信运营商手机游戏搞得很火),多是基于KJava的。所以目前市场上在招聘手机游戏软件人才时,很多要求掌握KJava。有关J2ME请到Sun的网站上找资料。
1。KVM简介
KVM(K Virtual Machine 或称 KJava Virtual Machine)是一种小巧,易于移植的
JVM,被专门设计用来支持小型的,资讯有限的设备,例如手机,PDA等。
KVM团队的最高设计目标是开发一个最小的且"完整"的JVM,它必须能提供对核心Jav
a语言的支持并能运行在资源有限的设备上(例如只有几十到几百Kb)。
更规范的说, KVM的设计要点有:
·小型,VM的核心只占据大约60Kb的静态内存空间。(根据不同的平台或编译选项有
所不同)
·轻巧易于移植。
·模块化,易于定制。
·尽量做到既"完整"又"快速"。
KVM是用C语言实现的,因此可以方便的移植到许多平台上,只要你能找到该平台的C
compiler。KVM是J2ME的一部分,KVM通常被作为CLDC和MIDP构架的底层实现。KVM是由
sun实验室最初的Spotless系统发展而来。(注:sun最初提出KJava是用来开发palm os
的,那时Palm上的Kjava程序称为Spotlet,类似于今天的MIDlet。)