Flash中ExternalInterface.call返回null,无法调用JS
今天郁闷啊,在网上找了半天都不知道是什么问题,最后终于找到了, 原来 嵌入SWF文件的时候要有ID, 加入ID=”movie”就可以了.
真是郁闷,对了,还有一点,就是一定要设置allowScriptAccess=sameDomain
Popularity: 13% [?]
今天郁闷啊,在网上找了半天都不知道是什么问题,最后终于找到了, 原来 嵌入SWF文件的时候要有ID, 加入ID=”movie”就可以了.
真是郁闷,对了,还有一点,就是一定要设置allowScriptAccess=sameDomain
Popularity: 13% [?]
所谓socket通常也称作”套接字”,用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过”套接字”向网络发出请求或者应答网络请 求。 Socket和ServerSocket类库位于java.net包中。ServerSocket用于服务器端,Socket是建立网络连接时使用的。在 连接成功时,应用程序两端都会产生一个Socket实例,操作这个实例,完成所需的会话。对于一个网络连接来说,套接字是平等的,并没有差别,不因为在服 务器端或在客户端而产生不同级别。不管是Socket还是ServerSocket它们的工作都是通过SocketImpl类及其子类完成的。
下面给出一个最简单的Socket通信的例子供初学者参考:
服务器端:ServerDemo.java
| package com.lanber.socket;
import java.io.DataInputStream; public class ServerDemo { /** } |
客户端:ClientDemo.java
| package com.lanber.socket;
import java.io.DataInputStream; public class ClientDemo { /** } |
Popularity: 25% [?]
收集国外文章,呵呵 Red5的文章很少啊. 大家珍惜
Here are the steps to configure SSL in existing Red5 application. This article is keeping in the mind you have basic knowledge of Red5 or you are aware of how Red5 applications are built.
Software required on machine where Red5 server is installed:-
1: Open SSL //Open source SSL libraries required for compiling Stunnel
2: Stunnel //Open source SSL wrapper software uses open SSL works both on
Windows and Linux.
3: gcc // The GNU C compiler (although it always bundled with Linux
Machine, but I did not find it. Necessary if you are compiling the
Open SSL and Stunnel from source. Not required if using RPM
Configuration needed on server machine:-
1:- Install the Open SSL (if windows use exe RPM or source for Linux machine can be downloaded from openssl website).
2:- Install Stunnel (if windows, use exe otherwise RPM or compilation from source is preferred, can be downloaded from stunnel website). Make sure that you already have compiled Open SSL in your machine before proceeding with the installation of Stunnel; otherwise it will fail to compile.
Under Linux the standard command to compile Stunnel from source are described below. For any update please always follow the installation instructions given their website.
machine# gzip -dc stunnel-VERSION.tar.gz tar -xvzf -
machine# cd stunnel-VERSION
machine# ./configure
machine# make
machine# make install
There are several configurations that differ based on your computer and environment. That can be read from the website itself.
3:- Running Stunnel (There are several ways/mode you can run the stunnel. Follow the FAQ available in their website to choose the best which matches your requirements).
To run stunnel, you always require a configuration file. The process of making sample configuration file (stunnel.conf) is described below.
The sample configuration file used was like this:
sample.conf
; Sample stunnel configuration file by Sunil Gupta 2007
; Some options used here may not be adequate for your particular configuration
; Certificate/key is needed in server mode and optional in client mode
; The default certificate is provided only for testing and should not
; be used in a production environment
cert = /etc/stunnel/stunnel.pem
;chroot = /var/run/stunnel/
pid = /stunnel.pid
key = /etc/stunnel/stunnel.pem
; Some performance tunings
socket = l:TCP_NODELAY=1
socket = r:TCP_NODELAY=1
; Workaround for Eudora bug
;options = DONT_INSERT_EMPTY_FRAGMENTS
; Authentication stuff
;verify = 2
; Don’t forget to c_rehash CApath
;CApath = certs
; It’s often easier to use CAfile
;CAfile = certs.pem
; Don’t forget to c_rehash CRLpath
;CRLpath = crls
; Alternatively you can use CRLfile
;CRLfile = crls.pem
; Some debugging stuff useful for troubleshooting
debug = 7
Output = /var/log/stunnel.log
foreground=yes
; Use it for client mode
; client = yes
; Service-level configuration
;[pop3s]
;accept = 995
;connect = 110
;[imaps]
;accept = 993
;connect = 143
;[ssmtp]
;accept = 465
;connect = 25
[rtmps - https]
TIMEOUTconnect=20
accept = 443
connect = 80
TIMEOUTclose = 20
; vim:ft=dosin
Finish
Note: – When you install Stunnel, you get a default sample file, which is not enough in most of the cases to run the flash application. The additions to configuration file I made are as follows.
Also the line having ; in the start denotes the commented portion in file.
cert = /etc/stunnel/stunnel.pem
key = /etc/stunnel/stunnel.pem
pem stands for ‘privacy enhanced mail’ used as a key format. The above two lines tells the location of pem files need to be generated. This will be configured by user. The above is the best location for Stunnel although you can change it to any desired location.
;Some performance tunings
socket = l:TCP_NODELAY=1
socket = r:TCP_NODELAY=1
The above two lines are for better performance of Stunnel in our case.
; Workaround for Eudora bug
;options = DONT_INSERT_EMPTY_FRAGMENTS
The above line is a bug in a specific platform, since we are running it in Linux; we commented this line, although it could be needed in some case.
; Some debugging stuff useful for troubleshooting
debug = 7
Output = /var/log/stunnel.log
foreground=yes
The above lines are very important, Because Stunnel by default run in background mode. You will never be able to see if it is running. So better to put it in foreground, so that you can make sure that stunnel is running properly. Also the debug = 7 is very important since by default stunnel does not generate any log. You can direct him to generate log, so that you can debug your application by seeing all those log messages. The above mentioned log directory is default Linux directory where all system logs are generated.
; Use it for client mode
; client = yes
In the sample configuration file, you will always find this option un-commented leading to a different architecture, since we are running Stunnel in server mode not client mode, so we will comment this line.
[rtmps - https]
TIMEOUTconnect=20
accept = 443
connect = 80
TIMEOUTclose = 20
And the very last lines are mentioned above. In the sample configuration file, you will never find rtmps and it is not even mentioned anywhere in Stunnel. The default file contains only https, add rtmps like it is added here. Also accept port is 443, which is the default port used for secure communication and it is open like port 80 in all corporate firewalls in general. This port is to accept the connection from flash and to get the encrypted data. The connect port is 80; this is the port where stunnel will forward the decrypted data to red5 server.
The TIMEOUTconnect and TIMEOUTclose can be useful in some cases when the server where the data is being forwarded by Stunnel is delaying the connection. This is to make sure that connection is closed only when server is not responding at all. The value is in seconds (i.e. 20 sec.)
Now in order to run your application under secure connection, you require a certificate to be created on the machine where the Stunnel is installed. The procedure for creating a certificate and the possible directory to put this certificate is described below.
Use of certificate:-
When an SSL client connects to an SSL server, the server presents a certificate, essentially an electronic piece of proof that machine is who it claims to be. This certificate is signed by a ‘Certificate Authority’ (hereafter a CA) — usually a trusted third party like Verisign. A client will accept this certificate only if
The certificate presented matches the private key being used by the remote end.
The certificate has been signed correctly by the CA. The client recognizes the CA as trusted.
Every stunnel server has a private key. This is contained in the pem file which stunnel uses to initialize its identity. If we notice above, we have given the reference of this pem file in the start of our configuration file under cert.
This private key is put in /usr/local/ssl/certs/stunnel.pem.
Note:-Under client mode we need not to have certificate in most of the cases, but if we are running it in server mode, we require a certificate. Since we are using server mode, I have generated a self certificate.
To make certificate:-
1: Go to /etc/stunnel directory and
2: Run the following command:-’
openssl req -new -x509 -days 365 -nodes -config stunnel.cnf -out stunnel.pem -keyout stunnel.pem
This creates a private key and self-signed certificate. More information on the options of this can be read from FAQ section of Stunnel website.
While executing the command, it will ask for some questions like Country, City, Company etc., Give the answer of those and it will generate the key and self certificate.
4:- Put your sample.conf file in /etc/stunnel directory where the .pem file was created earlier.
5:- Start Stunnel by issuing the command -
machine# stunnel stunnel.conf
If you are /etc/stunnel directory otherwise complete path of configuration file-
machine# stunnel /etc/stunnel/stunnel.conf
The above command will start the stunnel and you can verify the log from /var/logs/stunnel.log file.
Red5 server side changes:-
6:- Now stunnel is up and running, we need to change the Red5 configuration to accept the connection from Stunnel.
Go to red5 installation directory and search for conf folder where all red5 configuration files exist.
Open red5.properties file and under rtmps.host_port property put 443. The sample file can be like below.
rtmp.host_port = 0.0.0.0:1935
rtmp.threadcount = 4
debug_proxy.host_port = 0.0.0.0:1936
proxy_forward.host_port = 127.0.0.1:1935
rtmps.host_port = 127.0.0.1:443
http.host=0.0.0.0
http.port=5080
rtmpt.host=0.0.0.0
rtmpt.port=80
Flash client side changes:-
7:-Now we are done with server side, In order to run application under SSL, we need to change the client side protocol from rtmp to rtmps like below. And compile the flash client and run it on browser, a certificate will pop up, accept it and the application will run under SSL.
nc.connect (”rtmps://yourip/applicationname”); //used rtmps in place of rtmp
To get all Red5 media server related stuffs, visit the website below-
Technology Makes Life Easier (http://sunil-gupta.blogspot.com)
Article Source: http://EzineArticles.com/?expert=Sunil_Gupta
Popularity: 32% [?]
Red5 is an open source Flash server written in Java. It does not include a standalone client yet but I was able to write a Java program that uses Red5 to connect to an RTMP video stream and record / save it to a file. Code is provided below and also some tips on how to get the details required to download flash videos that you come across on the internet.
Here’s the code of “MyRtmpClient.java”, you are free to use and modify this in any way you want.
import java.io.File;
import org.apache.mina.common.ByteBuffer;
import org.red5.io.IStreamableFile;
import org.red5.io.ITag;
import org.red5.io.ITagWriter;
import org.red5.io.flv.impl.FLVService;
import org.red5.io.flv.impl.Tag;
import org.red5.io.utils.ObjectMap;
import org.red5.server.api.event.IEvent;
import org.red5.server.api.event.IEventDispatcher;
import org.red5.server.api.service.IPendingServiceCall;
import org.red5.server.api.service.IPendingServiceCallback;
import org.red5.server.net.rtmp.Channel;
import org.red5.server.net.rtmp.RTMPClient;
import org.red5.server.net.rtmp.RTMPConnection;
import org.red5.server.net.rtmp.codec.RTMP;
import org.red5.server.net.rtmp.event.AudioData;
import org.red5.server.net.rtmp.event.IRTMPEvent;
import org.red5.server.net.rtmp.event.Notify;
import org.red5.server.net.rtmp.event.VideoData;
import org.red5.server.net.rtmp.message.Header;
import org.red5.server.net.rtmp.status.StatusCodes;
import org.red5.server.stream.AbstractClientStream;
import org.red5.server.stream.IStreamData;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class MyRtmpClient extends RTMPClient {
private static final Logger logger = LoggerFactory.getLogger(MyRtmpClient.class);
private String saveAsFileName = "test.flv";
public static void main(String[] args) {
String host = "localhost";
String app = "oflaDemo";
final String name = "IronMan.flv";
int port = 1935;
final int duration = 10000; // milliseconds, -2 means until end of stream
final MyRtmpClient client = new MyRtmpClient();
logger.debug("connecting, host: " + host + ", app: " + app + ", port: " + port);
IPendingServiceCallback callback = new IPendingServiceCallback() {
public void resultReceived(IPendingServiceCall call) {
logger.debug("service call result: " + call);
if ("connect".equals(call.getServiceMethodName())) {
client.createStream(this);
} else if ("createStream".equals(call.getServiceMethodName())) {
Integer streamId = (Integer) call.getResult();
logger.debug("createStream result stream id: " + streamId);
logger.debug("playing video by name: " + name);
client.play(streamId, name, 0, duration);
}
}
};
client.connect(host, port, app, callback);
}
private RTMPConnection conn;
private ITagWriter writer;
private int videoTs;
private int audioTs;
@Override
public void connectionOpened(RTMPConnection conn, RTMP state) {
logger.debug("connection opened");
super.connectionOpened(conn, state);
this.conn = conn;
init();
}
@Override
public void connectionClosed(RTMPConnection conn, RTMP state) {
logger.debug("connection closed");
super.connectionClosed(conn, state);
if (writer != null) {
writer.close();
writer = null;
}
System.exit(0);
}
@Override
public void createStream(IPendingServiceCallback callback) {
logger.debug("create stream");
IPendingServiceCallback wrapper = new CreateStreamCallBack(callback);
invoke("createStream", null, wrapper);
}
@Override
protected void onInvoke(RTMPConnection conn, Channel channel, Header header, Notify notify, RTMP rtmp) {
super.onInvoke(conn, channel, header, notify, rtmp);
ObjectMap<String, String> map = (ObjectMap) notify.getCall().getArguments()[0];
String code = map.get("code");
if (StatusCodes.NS_PLAY_STOP.equals(code)) {
logger.debug("onInvoke, code == NetStream.Play.Stop, disconnecting");
disconnect();
}
}
private void init() {
File file = new File(saveAsFileName);
FLVService flvService = new FLVService();
flvService.setGenerateMetadata(true);
try {
IStreamableFile flv = flvService.getStreamableFile(file);
writer = flv.getWriter();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
private class CreateStreamCallBack implements IPendingServiceCallback {
private IPendingServiceCallback wrapped;
public CreateStreamCallBack(IPendingServiceCallback wrapped) {
this.wrapped = wrapped;
}
public void resultReceived(IPendingServiceCall call) {
Integer streamIdInt = (Integer) call.getResult();
if (conn != null && streamIdInt != null) {
MyNetStream stream = new MyNetStream();
stream.setConnection(conn);
stream.setStreamId(streamIdInt.intValue());
conn.addClientStream(stream);
}
wrapped.resultReceived(call);
}
}
private class MyNetStream extends AbstractClientStream implements IEventDispatcher {
public void close() { }
public void start() { }
public void stop() { }
public void dispatchEvent(IEvent event) {
if (!(event instanceof IRTMPEvent)) {
logger.debug("skipping non rtmp event: " + event);
return;
}
IRTMPEvent rtmpEvent = (IRTMPEvent) event;
if (logger.isDebugEnabled()) {
logger.debug("rtmp event: " + rtmpEvent.getHeader() + ", "
+ rtmpEvent.getClass().getSimpleName());
}
if (!(rtmpEvent instanceof IStreamData)) {
logger.debug("skipping non stream data");
return;
}
if (rtmpEvent.getHeader().getSize() == 0) {
logger.debug("skipping event where size == 0");
return;
}
ITag tag = new Tag();
tag.setDataType(rtmpEvent.getDataType());
if (rtmpEvent instanceof VideoData) {
videoTs += rtmpEvent.getTimestamp();
tag.setTimestamp(videoTs);
} else if (rtmpEvent instanceof AudioData) {
audioTs += rtmpEvent.getTimestamp();
tag.setTimestamp(audioTs);
}
ByteBuffer data = ((IStreamData) rtmpEvent).getData().asReadOnlyBuffer();
tag.setBodySize(data.limit());
tag.setBody(data);
try {
writer.writeTag(tag);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
}
To compile and run the code you need the following libraries:
commons-collections-3.2.jar jcl104-over-slf4j-1.4.3.jar logback-classic-0.9.8.jar logback-core-0.9.8.jar mina-core-1.1.6.jar red5.jar slf4j-api-1.4.3.jar spring-beans-2.0.8.jar spring-context-2.0.8.jar spring-core-2.0.8.jar
We need the latest Red5 JAR built from version control (not the latest official release) and I have uploaded these files here: red5-rtmp-client-libszip.pdf – just rename the file to end with “.zip” after downloading.
The code shown is hard-coded to connect to “localhost”, app name “oflaDemo” and stream name “IronMan.flv” which can be tested on the official Red5 server distribution which you can download and run. When it comes to downloading flash streams from the internet, WireShark can be used to sniff out the values you need.
Let’s take this site for example: http://videolectures.net/ Start a WireShark capture session before clicking on a video on the site to play it. Let WireShark grab all the information exchanged between your PC and the remote flash server and you can stop the capture once the video begins to play, we are only interested in what goes on during the connection handshake. I will use this video as an example: http://videolectures.net/ff06_chomsky_szmp/ [update Jun-2008: looks like they changed this particular video to Windows media instead of Flash, so try other videos or other sites]
In WireShark you can filter for protocol “rtmpt” and the first few entries would be handshake or “invoke” operations. Examining the “Handshake part 3″ we can easily get the value of the required “app” property. Below we can see it is “video/2006/other/ff06/chomsky_noam”:

For the host name, the IP address should do fine for most sites, but we can easily figure out the host name of the stream server from what appears after “rtmp://”. Note that WireShark allows you to search the text contents of captured packets. Here below we can see that the host name is “velblod.videolectures.net”:

And finally when the “play” command is issued – we need the value of the stream name. Below we see it is “chomsky_noam_01″:

So with the right values of hostname, app and stream name set – you can run the program and download the stream to your local drive for offline viewing. To download the whole stream – just change the duration to ‘-2′ as hinted in the source code comment. There are many free Flash players available you can use to play downloaded content such as FLV Player.
Do let me know if this works for you and if you find any additional parameters that need to be passed for other sites.
Popularity: 40% [?]
在网上找了很多文章,都没解决问题,以下文章来者国外的网站,终于解决问题了 ^_^
提示: 要把诺顿杀毒软件卸载
Editting the registry is not for beginners, if you don’t know what you’re doing I suggest you don’t try this, basically it’s use at your own risk.
Anytime you want to edit the registry it is a good idea to back it up first. For information on how to backup and restore the registry in all versions of Windows click here.
If you are using Windows 95/98/Me follow these steps:
First step is to launch the registry editor. To do this go to Start, Run and type regedit. In the left pane navigate to HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP once there, look for an entry called MaxConnections. If it exists highlight it by clicking it and then right click it and select modify. Increase the value (recommended value is to double the current value).
If the MaxConnections entry does not exist you must create it. To do this, right click in the right pane and choose new from the menu and select String Value. Give it the name MaxConnections. Then right click it and select modify and enter a value of 200.
Restart your computer, if all goes well then you fixed the problem, if not, revert the changes by restoring the registry. (You may have to reboot to safe mode to do this).
If you are running Windows NT/2000/XP follow these steps: First step is to launch the registry editor. To do this go to Start, Run and type regedit. In the left pane navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters once there, you must create the entry TcpNumConnections. To do this, right click in the right pane and choose new from the menu and select DWORD Value. Give it the name TcpNumConnections. Then right click it and select modify and enter a value of 200.
Restart your computer, if all goes well then you fixed the problem, if not, revert the changes by restoring the registry. (You may have to reboot to safe mode to do this).
Popularity: 11% [?]
第一讲: 概述
=========================================
在线观看: http://www.boobooke.com/v/bbk2003
视频下载: http://www.boobooke.com/v/bbk2003.zip
=========================================
第二讲: 概述
=========================================
在线观看: http://www.boobooke.com/v/bbk2004
视频下载: http://www.boobooke.com/v/bbk2004.zip
=========================================
第三讲:
=========================================
在线观看: http://www.boobooke.com/v/bbk2005
视频下载: http://www.boobooke.com/v/bbk2005.zip
=========================================
第四讲:
=========================================
在线观看: http://www.boobooke.com/v/bbk2006
视频下载: http://www.boobooke.com/v/bbk2006.zip
=========================================
第五讲: ->第二章 限制和排序数据
=========================================
在线观看: http://www.boobooke.com/v/bbk2008
视频下载: http://www.boobooke.com/v/bbk2008.zip
=========================================
第六讲: ->第二章 限制和排序数据
=========================================
在线观看: http://www.boobooke.com/v/bbk2009
视频下载: http://www.boobooke.com/v/bbk2009.zip
=========================================
第七讲: ->第二章 限制和排序数据
=========================================
在线观看: http://www.boobooke.com/v/bbk2021
视频下载: http://www.boobooke.com/v/bbk2021.zip
=========================================
第八讲: ->第三章 利用单行函数定制输出
=========================================
在线观看: http://www.boobooke.com/v/bbk2022
视频下载: http://www.boobooke.com/v/bbk2022.zip
=========================================
第九讲: ->第三章 利用单行函数定制输出
=========================================
在线观看: http://www.boobooke.com/v/bbk2023
视频下载: http://www.boobooke.com/v/bbk2023.zip
=========================================
第十讲: ->第四章 Using Conversion Functions and Conditional Expressions
=========================================
在线观看: http://www.boobooke.com/v/bbk2024
视频下载: http://www.boobooke.com/v/bbk2024.zip
=========================================
第十一讲: ->第四章 Using Conversion Functions and Conditional Expressions
=========================================
在线观看: http://www.boobooke.com/v/bbk2025
视频下载: http://www.boobooke.com/v/bbk2025.zip
=========================================
第十二讲: ->第五章 Reporting Aggregated Data Using the Group Functions
=========================================
在线观看: http://www.boobooke.com/v/bbk2026
视频下载: http://www.boobooke.com/v/bbk2026.zip
=========================================
第十三讲: ->第五章 Reporting Aggregated Data Using the Group Functions
=========================================
在线观看: http://www.boobooke.com/v/bbk2027
视频下载: http://www.boobooke.com/v/bbk2027.zip
=========================================
第十四讲: ->第六章 Displaying Data from Multiple Tables
=========================================
在线观看: http://www.boobooke.com/v/bbk2028
视频下载: http://www.boobooke.com/v/bbk2028.zip
=========================================
第十五讲: ->第六章 Displaying Data from Multiple Tables
=========================================
在线观看: http://www.boobooke.com/v/bbk2029
视频下载: http://www.boobooke.com/v/bbk2029.zip
=========================================
第十六讲: ->第六章 Displaying Data from Multiple Tables
=========================================
在线观看: http://www.boobooke.com/v/bbk2030
视频下载: http://www.boobooke.com/v/bbk2030.zip
=========================================
第十七讲: ->第七章 Using Subqueries to solve queries
=========================================
在线观看: http://www.boobooke.com/v/bbk2036
视频下载: http://www.boobooke.com/v/bbk2036.zip
=========================================
第十八讲: ->第七章 Using Subqueries to solve queries
=========================================
在线观看: http://www.boobooke.com/v/bbk2037
视频下载: http://www.boobooke.com/v/bbk2037.zip
=========================================
第十九讲: ->第八章 Using the set Operators
=========================================
在线观看: http://www.boobooke.com/v/bbk2049
视频下载: http://www.boobooke.com/v/bbk2049.zip
=========================================
第二十讲: ->第八章 Using the set Operators
=========================================
在线观看: http://www.boobooke.com/v/bbk2050
视频下载: http://www.boobooke.com/v/bbk2050.zip
=========================================
第二十一讲: ->第九章 Manipulating Data
=========================================
在线观看: http://www.boobooke.com/v/bbk2051
视频下载: http://www.boobooke.com/v/bbk2051.zip
=========================================
第二十二讲: ->第九章 Manipulating Data
=========================================
在线观看: http://www.boobooke.com/v/bbk2052
视频下载: http://www.boobooke.com/v/bbk2052.zip
=========================================
第二十三讲: ->第九章 Manipulating Data
=========================================
在线观看: http://www.boobooke.com/v/bbk2055
视频下载: http://www.boobooke.com/v/bbk2055.zip
=========================================
第二十四讲: ->第十章 Using DDL Statements to Create and Manage Tables
=========================================
在线观看: http://www.boobooke.com/v/bbk2056
视频下载: http://www.boobooke.com/v/bbk2056.zip
=========================================
第二十五讲: ->第十章 Using DDL Statements to Create and Manage Tables
=========================================
在线观看: http://www.boobooke.com/v/bbk2057
视频下载: http://www.boobooke.com/v/bbk2057.zip
=========================================
第二十六讲: ->第十章 Using DDL Statements to Create and Manage Tables
=========================================
在线观看: http://www.boobooke.com/v/bbk2070
视频下载: http://www.boobooke.com/v/bbk2070.zip
=========================================
第二十七讲: ->第十章 Using DDL Statements to Create and Manage Tables
=========================================
在线观看: http://www.boobooke.com/v/bbk2077
视频下载: http://www.boobooke.com/v/bbk2077.zip
=========================================
第二十八讲: ->Creating Other Schema Objects
=========================================
在线观看: http://www.boobooke.com/v/bbk2078
视频下载: http://www.boobooke.com/v/bbk2078.zip
第二十九讲: ->Creating Other Schema Objects
=========================================
在线观看: http://www.boobooke.com/v/bbk2079
视频下载: http://www.boobooke.com/v/bbk2079.zip
=========================================
第三十讲: ->Creating Other Schema Objects
=========================================
在线观看: http://www.boobooke.com/v/bbk2080
视频下载: http://www.boobooke.com/v/bbk2080.zip
=========================================
Popularity: 9% [?]
小布老师 Oracle 9i 性能调优系列培训视频下载地址(更新至3月7日,50集)
小布老师作品:Oracle 9i 性能调优系列培训 09年3月7日 更新至第50讲,后面将持续更新,小布老师说预计到70-80集左右,欢迎大家继续关注本帖的更新。
现在在这把播放和下载地址都列出来了,有点汇总没有给出链接地址,或者是上层地址,现在给出直接的地址栏,有利于大家直接点到观看和下载视频,下载要做一个礼拜后才可以下载,不过用其他的方法还是可以下到的。
小布作品:Oracle 9i 性能调优系列培训 – 1
http://www.boobooke.com/v/bbk2100
http://www.boobooke.com/v/bbk2100.zip
小布作品:Oracle 9i 性能调优系列培训 – 2
http://www.boobooke.com/v/bbk2101
http://www.boobooke.com/v/bbk2101.zip
小布作品:Oracle 9i 性能调优系列培训 – 3
http://www.boobooke.com/v/bbk2102
http://www.boobooke.com/v/bbk2102.zip
小布作品:Oracle 9i 性能调优系列培训 – 4
http://www.boobooke.com/v/bbk2103
http://www.boobooke.com/v/bbk2103.zip
小布作品:Oracle 9i 性能调优系列培训 – 5
http://www.boobooke.com/v/bbk2120
http://www.boobooke.com/v/bbk2120.zip
小布作品:Oracle 9i 性能调优系列培训 – 6
http://www.boobooke.com/v/bbk2121
http://www.boobooke.com/v/bbk2121.zip
小布作品:Oracle 9i 性能调优系列培训 – 7
http://www.boobooke.com/v/bbk2122
http://www.boobooke.com/v/bbk2122.zip
小布作品:Oracle 9i 性能调优系列培训 – 8
http://www.boobooke.com/v/bbk2125
http://www.boobooke.com/v/bbk2125.zip
小布作品:Oracle 9i 性能调优系列培训 – 9
http://www.boobooke.com/v/bbk2126
http://www.boobooke.com/v/bbk2126.zip
小布作品:Oracle 9i 性能调优系列培训 – 10
http://www.boobooke.com/v/bbk2152
http://www.boobooke.com/v/bbk2152.zip
小布作品:Oracle 9i 性能调优系列培训 – 11
http://www.boobooke.com/v/bbk2153
http://www.boobooke.com/v/bbk2153.zip
小布作品:Oracle 9i 性能调优系列培训 – 12
http://www.boobooke.com/v/bbk2154
http://www.boobooke.com/v/bbk2154.zip
小布作品:Oracle 9i 性能调优系列培训 – 13
http://www.boobooke.com/v/bbk2156
http://www.boobooke.com/v/bbk2156.zip
小布作品:Oracle 9i 性能调优系列培训 – 14
http://www.boobooke.com/v/bbk2157
http://www.boobooke.com/v/bbk2157.zip
小布作品:Oracle 9i 性能调优系列培训 – 15
http://www.boobooke.com/v/bbk2158
http://www.boobooke.com/v/bbk2158.zip
小布作品:Oracle 9i 性能调优系列培训 – 16
http://www.boobooke.com/v/bbk2173
http://www.boobooke.com/v/bbk2173.zip
小布作品:Oracle 9i 性能调优系列培训 – 17
http://www.boobooke.com/v/bbk2174
http://www.boobooke.com/v/bbk2174.zip
小布作品:Oracle 9i 性能调优系列培训 – 18
http://www.boobooke.com/v/bbk2175
http://www.boobooke.com/v/bbk2175.zip
小布作品:Oracle 9i 性能调优系列培训 – 19
http://www.boobooke.com/v/bbk2176
http://www.boobooke.com/v/bbk2176.zip
小布作品:Oracle 9i 性能调优系列培训 – 20
http://www.boobooke.com/v/bbk2177
http://www.boobooke.com/v/bbk2177.zip
小布作品:Oracle 9i 性能调优系列培训 – 21
http://www.boobooke.com/v/bbk2178
http://www.boobooke.com/v/bbk2178.zip
小布作品:Oracle 9i 性能调优系列培训 – 22
http://www.boobooke.com/v/bbk2179
http://www.boobooke.com/v/bbk2179.zip
小布作品:Oracle 9i 性能调优系列培训 – 23
http://www.boobooke.com/v/bbk2180
http://www.boobooke.com/v/bbk2180.zip
小布作品:Oracle 9i 性能调优系列培训 – 24
http://www.boobooke.com/v/bbk2181
http://www.boobooke.com/v/bbk2181.zip
小布作品:Oracle 9i 性能调优系列培训 – 25
http://www.boobooke.com/v/bbk2182
http://www.boobooke.com/v/bbk2182.zip
小布作品:Oracle 9i 性能调优系列培训 – 26
http://www.boobooke.com/v/bbk2183
http://www.boobooke.com/v/bbk2183.zip
小布作品:Oracle 9i 性能调优系列培训 – 27
http://www.boobooke.com/v/bbk2184
http://www.boobooke.com/v/bbk2184.zip
小布作品:Oracle 9i 性能调优系列培训 – 28
http://www.boobooke.com/v/bbk2185
http://www.boobooke.com/v/bbk2185.zip
小布作品:Oracle 9i 性能调优系列培训 – 29
http://www.boobooke.com/v/bbk2188
http://www.boobooke.com/v/bbk2188.zip
小布作品:Oracle 9i 性能调优系列培训 – 30
http://www.boobooke.com/v/bbk2189
http://www.boobooke.com/v/bbk2189.zip
小布作品:Oracle 9i 性能调优系列培训 – 31
http://www.boobooke.com/v/bbk2190
http://www.boobooke.com/v/bbk2190.zip
小布作品:Oracle 9i 性能调优系列培训 – 32
http://www.boobooke.com/v/bbk2191
http://www.boobooke.com/v/bbk2191.zip
小布作品:Oracle 9i 性能调优系列培训 – 33
http://www.boobooke.com/v/bbk2192
http://www.boobooke.com/v/bbk2192.zip
小布作品:Oracle 9i 性能调优系列培训 – 34
http://www.boobooke.com/v/bbk2193
http://www.boobooke.com/v/bbk2193.zip
小布作品:Oracle 9i 性能调优系列培训 – 35
http://www.boobooke.com/v/bbk2194
http://www.boobooke.com/v/bbk2194.zip
小布作品:Oracle 9i 性能调优系列培训 – 36
http://www.boobooke.com/v/bbk2195
http://www.boobooke.com/v/bbk2195.zip
小布作品:Oracle 9i 性能调优系列培训 – 37
http://www.boobooke.com/v/bbk2196
http://www.boobooke.com/v/bbk2196.zip
小布作品:Oracle 9i 性能调优系列培训 – 38
http://www.boobooke.com/v/bbk2197
http://www.boobooke.com/v/bbk2197.zip
小布作品:Oracle 9i 性能调优系列培训 – 39
http://www.boobooke.com/v/bbk2225
http://www.boobooke.com/v/bbk2225.zip
小布作品:Oracle 9i 性能调优系列培训 – 40
http://www.boobooke.com/v/bbk2226
http://www.boobooke.com/v/bbk2226.zip
小布作品:Oracle 9i 性能调优系列培训 – 41
http://www.boobooke.com/v/bbk2228
http://www.boobooke.com/v/bbk2228.zip
小布作品:Oracle 9i 性能调优系列培训 – 42
http://www.boobooke.com/v/bbk2229
http://www.boobooke.com/v/bbk2229.zip
小布作品:Oracle 9i 性能调优系列培训 – 43
http://www.boobooke.com/v/bbk2300
http://www.boobooke.com/v/bbk2300.zip
小布作品:Oracle 9i 性能调优系列培训 – 44
http://www.boobooke.com/v/bbk2301
http://www.boobooke.com/v/bbk2301.zip
小布作品:Oracle 9i 性能调优系列培训 – 45
http://www.boobooke.com/v/bbk2340
http://www.boobooke.com/v/bbk2340.zip
小布作品:Oracle 9i 性能调优系列培训 – 46
http://www.boobooke.com/v/bbk2341
http://www.boobooke.com/v/bbk2341.zip
小布作品:Oracle 9i 性能调优系列培训 – 47
http://www.boobooke.com/v/bbk2342
http://www.boobooke.com/v/bbk2342.zip
小布作品:Oracle 9i 性能调优系列培训 – 48
http://www.boobooke.com/v/bbk2343
http://www.boobooke.com/v/bbk2343.zip
小布作品:Oracle 9i 性能调优系列培训 – 49
http://www.boobooke.com/v/bbk2344
http://www.boobooke.com/v/bbk2344.zip
小布作品:Oracle 9i 性能调优系列培训 – 50
http://www.boobooke.com/v/bbk2345
http://www.boobooke.com/v/bbk2345.zip
Popularity: 9% [?]
最近评论