Socket source code

I created a pingpong program that sends increasing sized packets back and forth between two computers to test the bandwidth. I'm getting very unusual results. See the graph at http://www.activeclickweb.com/pingpong.jpg
Is there any way to get at the native socket code to see what is happening? Or has anyone else seen this and can explain it?
Thanks
Brian

Hi Brian,
It sounds like this might be a better question for the Java Networking Forum:
http://forum.java.sun.com/forum.jspa?forumID=536
I would suggest reposting your question there.
-Larry

Similar Messages

  • How to display the source code for this friggin' file.

    Below is a rather lengthy bit of code that provides the behavior and attributes of a web server for OpenCyc. I need to know if I can enter some java to have the HTML source code displayed in a separate text file whenever this class returns some resulting webpage. If you have any ideas it will be greatly appreciated.
    -"Will code for foo."
    package org.opencyc.webserver;
    * Class WebServer is simple multithreaded HTTP server
    * with CGI limited to a Cyc connection on default port 3600.
    * <p>
    import java.net.*;
    import java.io.*;
    import java.util.*;
    import java.util.jar.*;
    import java.text.*;
    import org.opencyc.util.*;
    public class WebServer extends Thread {
         * Singleton WebServer instance.
        public static WebServer current;
         * Default HTTP port.
        protected static int DEFAULT_PORT = 80;
         * Default Cyc base port.
        protected static int DEFAULT_CYC_PORT = 3600;
         * Default directory to serve files from on non-Windows OS.
        protected static String DEFAULT_DIR = "/";
         * Default directory to serve files from on Windows.
        //protected static String DEFAULT_WIN_DIR = "C:\\";
        protected static String DEFAULT_WIN_DIR = "k:\\opencyc\\run\\httpd\\htdocs";
         * File cache capacity.
        protected static final int CACHE_CAPACITY = 100;
         * File cache to improve file serving performance.
        protected static Hashtable fileCache = new Hashtable(CACHE_CAPACITY);
         * Number of files served from this web server.
        protected static long nbrFilesServed = 0;
         * Number of files served from this web server that were found in the cache.
        protected static long nbrCacheHits = 0;
         * Server socket for accepting connections.
        protected ServerSocket server;
         * Directories to serve files from.
        protected ArrayList dirs;
         * Map from String (jar root) to JarFile[] (jar class path).
        protected HashMap map;
         * Webserver HTTP port.
        protected int port;
         * Cyc HTML host.
        protected String cycHost = "localhost";
         * Cyc HTML port.
        protected int cycPort;
         * Expand jar tress.
        protected boolean trees;
         * Requests flag.
        protected boolean traceRequests;
         * Constructs a WebServer object.
         * @param port the port to use
         * @param directories the directory to serve files from
         * @param trees true if files within jar files should be served up
         * @param traceRequests true if client's request text should be logged.
         * @exception IOException if the listening socket cannot be opened, or problem opening jar files.
        public WebServer() throws IOException {
            getProperties();
            server = new ServerSocket(port);
            processDirectories();
         * Class Task processes a single HTTP request.
        protected class Task extends Thread {
             * Socket for the incoming request.
            protected Socket sock;
             * Client socket to the Cyc KB HTML server.
            protected Socket cycHtmlSocket;
             * Output tcp stream.
            protected DataOutputStream out;
             * Contains the file request path for a not-found error message.
            protected String notFoundPath;
             * Contains the first line of a request message.
            protected String methodLine;
             * Contains the body of a POST method.
            protected String bodyLine;
             * Constructs a Task object.
             * @param sock the socket assigned for this request.
            public Task(Socket sock) {
                this.sock = sock;
             * Processes the HTTP request.
            public void run() {
                if (traceRequests)
                    Log.current.println("connection accepted from " + sock.getInetAddress());
                notFoundPath = "";
                try {
                    out = new DataOutputStream(sock.getOutputStream());
                    try {
                        getBytes();
                    catch (Exception e) {
                        Log.current.println("file not found: " + notFoundPath);
                        try {
                            out.writeBytes("HTTP/1.1 404 Not Found\r\n");
                            out.writeBytes("Server: Cyc WebServer\r\n");
                            out.writeBytes("Connection: close\r\n");
                            out.writeBytes("Content-Type: text/html\r\n\r\n");
                            out.writeBytes("<HTML><HEAD>\n");
                            out.writeBytes("<TITLE>404 Not Found</TITLE>\n");
                            out.writeBytes("</HEAD><BODY>\n");
                            out.writeBytes("<H1>404 - Not Found</H1>\n");
                            out.writeBytes("</BODY></HTML>");
                            out.flush();
                        catch (SocketException se) {
                catch (Exception e) {
                    Log.current.printStackTrace(e);
                finally {
                    try {
                        sock.close();
                    catch (IOException e) {
             * Reads the HTTP request and obtains the response.
             * @exception IOException when HTTP request has an invalid format.
            private void getBytes() throws IOException {
                // Below logic is complex because web browsers do not close the
                // socket after sending the request, so must parse message to find
                // the end.
                BufferedReader in = new BufferedReader(new InputStreamReader(sock.getInputStream()));
                ArrayList inBytes = new ArrayList(200);
                int ch = 0;
                boolean postMethod;
                methodLine = in.readLine();
                //if (traceRequests)
                //    Log.current.println("methodLine=" + methodLine);
                bodyLine = "";
                if (methodLine.startsWith("POST /"))
                    postMethod = true;
                else
                    postMethod = false;
                //if (traceRequests)
                //    Log.current.println("postMethod=" + postMethod);
                int ch1 = -1;
                int ch2 = -1;
                int ch3 = -1;
                int ch4 = -1;
                // Read the HTTP request headers.
                while (true) {
                    ch = in.read();
                    inBytes.add(new Integer(ch));
                    ch1 = ch2;
                    ch2 = ch3;
                    ch3 = ch4;
                    ch4 = ch;
                    if (ch1 == '\r' && ch2 == '\n' && ch3 == '\r' && ch4 == '\n')
                        break;
                    if ((! postMethod) &&
                        (! in.ready()) &&
                        ch1 == -1 &&
                        ch2 == -1 &&
                        ch3 == '\r' &&
                        ch4 == '\n') {
                        inBytes.add(new Integer('\r'));
                        inBytes.add(new Integer('\n'));
                        break;
                byte[] byteArray = new byte[inBytes.size()];
                for (int i = 0; i < inBytes.size(); i++) {
                    Integer ich = (Integer) inBytes.get(i);
                    byteArray[i] = ich.byteValue();
                String headers = new String(byteArray);
                if (postMethod) {
                    String lcHeaders = headers.toLowerCase();
                    int i = lcHeaders.indexOf("content-length: ");
                    String contentLength = lcHeaders.substring(i + 16);
                    int j = contentLength.indexOf("\r\n");
                    contentLength = contentLength.substring(0, j);
                    int bodyLen = (new Integer(contentLength)).intValue();
                    for (int k = 0; k < bodyLen; k++) {
                        bodyLine = bodyLine + (new Character((char) in.read())).toString();
                String line = methodLine + "\r\n" + headers + bodyLine;
                if (traceRequests)
                    Log.current.println(line);
                if (postMethod)
                    processHttpPost();
                else
                    if (line.startsWith("GET /"))
                        processHttpGet(line.substring(4));
                    else {
                        Log.current.println("Invalid request = " + line);
                        throw new IOException();
             * Processes an HTTP GET method.
             * @param httpGetPath the path of the file to get.
             * @exception IOException if the file is not found.
            private void processHttpGet(String httpGetPath) throws IOException {
                int i = httpGetPath.indexOf(' ');
                if (i > 0)
                    httpGetPath = httpGetPath.substring(0, i);
                Log.current.println(methodLine + " from " + sock.getInetAddress().getHostName());
                i = httpGetPath.indexOf("cg?");
                if (i > 0) {
                    cycHtmlRequest(httpGetPath.substring(i + 3));
                    return;
                notFoundPath = httpGetPath;
                i = httpGetPath.indexOf('/');
                if (i < 0 || map == null) {
                    if (map == null || httpGetPath.endsWith(".jar")) {
                        for (int j = 0; j < dirs.size(); j++) {
                            String dir = (String) dirs.get(j);
                            String nativePath = dir + httpGetPath;
                            nativePath = nativePath.replace('/', File.separatorChar);
                            if (fileCache.containsKey(nativePath)) {
                                writeDataBytes((byte[]) fileCache.get(nativePath));
                                Log.current.println("...cached");
                                nbrCacheHits++;
                                nbrFilesServed++;
                                return;
                            try {
                                File f = new File(nativePath);
                                byte[] fileBytes = getBytes(new FileInputStream(f), f.length());
                                writeDataBytes(fileBytes);
                                if (fileCache.size() >= CACHE_CAPACITY)
                                    fileCache.clear();
                                fileCache.put(nativePath, fileBytes);
                                Log.current.println("...from " + nativePath);
                                nbrFilesServed++;
                                return;
                            catch (IOException e) {
                    throw new IOException();
                String jar = httpGetPath.substring(0, i);
                httpGetPath = httpGetPath.substring(i + 1);
                JarFile[] jfs = (JarFile[]) map.get(jar);
                if (jfs == null)
                    throw new IOException();
                for (i = 0; i < jfs.length; i++) {
                    JarEntry je = jfs.getJarEntry(httpGetPath);
    if (je == null)
    continue;
    writeDataBytes(getBytes(jfs[i].getInputStream(je), je.getSize()));
    nbrFilesServed++;
    return;
    throw new IOException();
    * Processes an HTTP POST method.
    * @exception IOException if the file is not found.
    private void processHttpPost() throws IOException {
    Log.current.println("POST " + bodyLine + " from " + sock.getInetAddress().getHostName());
    cycHtmlRequest(bodyLine);
    * Reads the specified number of bytes and always close the stream.
    * @param in the file to be read for subsequent downloading.
    * @param length the number of bytes to read from the file.
    * @return An array of bytes from the file.
    * @exception IOException if an error occurs when processing the file.
    private byte[] getBytes(InputStream in, long length) throws IOException {
    DataInputStream din = new DataInputStream(in);
    byte[] bytes = new byte[ (int) length];
    try {
    din.readFully(bytes);
    finally {
    din.close();
    return bytes;
    * Sends the HTML request to Cyc.
    * @param cycPath the portion of the URL which is given to the Cyc HTML server.
    private void cycHtmlRequest(String cycPath) {
    String request = sock.getInetAddress().getHostName() + "&" + cycPath + "#";
    System.out.println("request=" + request);
    ArrayList bytes = new ArrayList(10000);
    try {
    cycHtmlSocket = new Socket(cycHost, cycPort);
    System.out.println("cycHost=" + cycHost + " cycPort=" + cycPort);
    BufferedReader cycIn = new BufferedReader(new InputStreamReader(cycHtmlSocket.getInputStream()));
    PrintWriter cycOut = new PrintWriter(cycHtmlSocket.getOutputStream(), true);
    cycOut.println(request);
    cycOut.flush();
    int ch = 0;
    while (ch >= 0) {
    ch = cycIn.read();
    bytes.add(new Integer(ch));
    catch (Exception e) {
    Log.current.printStackTrace(e);
    byte[] byteArray = new byte[bytes.size()];
    for (int i = 0; i < bytes.size() - 1; i++) {
    Integer ich = (Integer) bytes.get(i);
    byteArray[i] = ich.byteValue();
    try {
    writeTextBytes(byteArray);
    catch (Exception e) {
    Log.current.println(e.getMessage());
    * Responds to the HTTP client with data content from the requested URL.
    * @param bytes the array of bytes from the URL.
    * @exception IOException if there is an error writing to the HTTP client.
    public void writeDataBytes(byte[] bytes) throws IOException {
    out.writeBytes("HTTP/1.1 200 OK\r\n");
    out.writeBytes("Server: Cyc WebServer\r\n");
    out.writeBytes("Connection: close\r\n");
    out.writeBytes("Content-Length: " + bytes.length + "\r\n");
    String prefix = (new String(bytes)).toLowerCase();
    if (prefix.indexOf("<html>") > -1)
    out.writeBytes("Content-Type: text/html\r\n\r\n");
    else
    out.writeBytes("Content-Type: application/java\r\n\r\n");
    out.write(bytes);
    out.flush();
    * Respond to the HTTP client with text content from the requested URL.
    * @param bytes the array of bytes from the URL.
    * @exception IOException if there is an error writing to the HTTP client.
    public void writeTextBytes(byte[] bytes) throws IOException {
    out.writeBytes("HTTP/1.1 200 OK\r\n");
    out.writeBytes("Server: Cyc WebServer\r\n");
    out.writeBytes("Connection: close\r\n");
    out.writeBytes("Content-Length: " + bytes.length + "\r\n");
    out.writeBytes("Content-Type: text/html\r\n\r\n");
    out.write(bytes);
    out.flush();
    * Gets properties governing the web server's behavior.
    private void getProperties() {
    port = DEFAULT_PORT;
    String portProperty = System.getProperty("org.opencyc.webserver.port", "");
    if (! portProperty.equalsIgnoreCase(""))
    port = (new Integer(portProperty)).intValue();
    Log.current.println("Listening on port " + port);
    cycPort = DEFAULT_CYC_PORT;
    String cycPortProperty = System.getProperty("org.opencyc.webserver.cycPort", "");
    if (! cycPortProperty.equalsIgnoreCase(""))
    cycPort = (new Integer(cycPortProperty)).intValue();
    Log.current.println("Cyc connections directed to port " + cycPort);
    String dirsProperty = System.getProperty("org.opencyc.webserver.dirs", "");
    dirs = new ArrayList(3);
    StringTokenizer st = new StringTokenizer(dirsProperty, ";", false);
    while (st.hasMoreTokens()) {
    String dir = st.nextToken();
    dirs.add(dir);
    trees = false;
    String treesProperty = System.getProperty("org.opencyc.webserver.trees", "");
    if (! treesProperty.equalsIgnoreCase(""))
    trees = true;
    traceRequests = false;
    String traceRequestsProperty = System.getProperty("org.opencyc.webserver.traceRequests", "");
    if (! traceRequestsProperty.equalsIgnoreCase("")) {
    traceRequests = true;
    Log.current.println("tracing requests");
    * Adds transitive Class-Path jars to jfs.
    * @param jar the jar file
    * @param jfs the list of jar files to serve.
    * @param dir the jar file directory.
    * @exception IOException if an I/O error has occurred with the jar file.
    private void addJar(String jar, ArrayList jfs, String dir) throws IOException {
    Log.current.println("Serving jar files from: " + dir + jar);
    JarFile jf = new JarFile(dir + jar);
    jfs.add(jf);
    Manifest man = jf.getManifest();
    if (man == null)
    return;
    Attributes attrs = man.getMainAttributes();
    if (attrs == null)
    return;
    String val = attrs.getValue(Attributes.Name.CLASS_PATH);
    if (val == null)
    return;
    dir = dir + jar.substring(0, jar.lastIndexOf(File.separatorChar) + 1);
    StringTokenizer st = new StringTokenizer(val);
    while (st.hasMoreTokens()) {
    addJar(st.nextToken().replace('/', File.separatorChar), jfs, dir);
    * Administrative accessor method that obtains list of directories from which files are served.
    public ArrayList getDirs() {
    return dirs;
    * Administrative method that updates the list of directories from which files are served.
    public synchronized void setDirs(ArrayList dirs) throws IOException {
    this.dirs = dirs;
    fileCache.clear();
    processDirectories();
    * Administrative accessor method that obtains number of files served.
    * @return The number of files served.
    public long getNbrFilesServed() {
    return nbrFilesServed;
    * Administrative accessor method that obtains number of files served from cache.
    * @return The number of files served from the cache.
    public long getNbrCacheHits() {
    return nbrCacheHits;
    * Administrative method that clears the file cache.
    public synchronized void clearFileCache() {
    Log.current.println("Clearing file cache");
    fileCache.clear();
    nbrFilesServed = 0;
    nbrCacheHits = 0;
    * Processes the directories from which files are served, expanding jar trees if
    * directed.
    * @exception IOException if problem occurs while processing the jar files.
    private void processDirectories() throws IOException {
    if (dirs.size() == 0)
    if (File.separatorChar == '\\')
    dirs.add(DEFAULT_WIN_DIR);
    else
    dirs.add(DEFAULT_DIR);
    Iterator directories = dirs.iterator();
    while (directories.hasNext())
    Log.current.println("Serving from " + directories.next());
    if (trees) {
    map = new HashMap();
    for (int j = 0; j < dirs.size(); j++) {
    String dir = (String) dirs.get(j);
    String[] files = new File(dir).list();
    for (int i = 0; i < files.length; i++) {
    String jar = files[i];
    if (!jar.endsWith(".jar"))
    continue;
    ArrayList jfs = new ArrayList(1);
    addJar(jar, jfs, dir);
    map.put(jar.substring(0, jar.length() - 4), jfs.toArray(new JarFile[jfs.size()]));
    * Provides the command line interface for creating an HTTP server.
    * The properties are:
    * <pre>
    * org.opencyc.webserver.port=<HTTP listening port>
    * </pre>
    * which defaults to 80.
    * <pre>
    * org.opencyc.webserver.cycPort=<Cyc connection port>
    * </pre>
    * which defaults to 3600.
    * <pre>
    * org.opencyc.webserver.dirs=<path>;<path> ... ;<path>
    * </pre>
    * with the argument enclosed in quotes if any path contains an
    * embedded space.
    * The default directory on Windows is C:
    * and the default on other systems is / the default
    * can be overridden with this property. By default, all files
    * under this directory (including all subdirectories) are served
    * up via HTTP. If the pathname of a file is <var>path</var> relative
    * to the top-level directory, then the file can be downloaded using
    * the URL
    * <pre>
    * http://<var>host</var>:<var>port</var>/<var>path</var>
    * </pre>
    * Caching of file contents is performed.
    * <pre>
    * org.opencyc.util.log=all
    * </pre>
    * If the all value is given, then all attempts to download files
    * are output.
    * <pre>
    * org.opencyc.webserver.traceRequests
    * </pre>
    * If this property has any value, then the client HTTP requests are
    * output.<p>
    * <pre>
    * org.opencyc.webserver.trees
    * </pre>
    * This property can be used to serve up individual files stored
    * within jar files in addition to the files that are served up by
    * default. If the property has any value, the server finds all jar files
    * in the top-level directory (not in subdirectories). For each
    * jar file, if the name of the jar file is <var>name</var>.jar, then any
    * individual file named <var>file</var> within that jar file (or within
    * the jar or zip files referenced transitively in the Class-Path manifest
    * attribute, can be downloaded using a URL of the form:
    * <pre>
    * http://<var>host</var>:<var>port</var>/<var>name</var>/<var>file</var>
    * </pre>
    * When this property has any value, an open file descriptor and cached
    * information are held for each jar file, for the life of the process.
    * @param args an unused array of command line arguments.
    public static void main(String[] args) {
    Log.makeLog();
    System.out.println("OpenCyc Web Server");
    try {
    // Launch thread to accept HTTP connections.
    current = new WebServer();
    current.start();
    catch (IOException e) {
    e.printStackTrace();
    * Just keep looping, spawning a new thread for each incoming request.
    public void run() {
    try {
    while (true) {
    // Launch thread to process one HTTP request.
    new Task(server.accept()).start();
    catch (IOException e) {
    e.printStackTrace();

    JLundan,
    I want to thank you for responding to the thread I started on the forum at java.sun.com. Your solution to my problem of needing to print the code of the html pages that the file I included generates was just what I was looking for. However, I have some further questions to ask, if you don't mind. To clarify my task I should say that your rephrasing of the problem is accurate: "You wan't to display the contents of the HTML file that the web server produces in response of client's request?"
    Yes, this is what I need to do, but also it needs to display the source code of that html file that the server produces in response to the client's request. Also, in this case, I am the client requesting that the server return some html file, and I'm not sure where the server is. But the webserver.java file that I shared on the forum is on my local machine. I was wondering if I could modify this webserver.java file at my home so that any html file the server returns to me would automatically display the source code. This is a school project of mine and I am stuck on this one thing here.
    Further, where would I put the "foo.html" file so it can be written to?
    FileOuputStream fos = new FileOutputStream("foo.html");
    fos.write(bytes);
    fos.close();
    Thanks so much for your help. I look forward to your response, at your convenience.
    Regards

  • How can one encrypt the source code of a given web page(html, jsp, etc.) ?

    Good Day! I'm just having a hard time of thinking how to encrypt the source code of a given web page(html, jsp, etc.) without affecting how it is previewed in an Internet Browser. What I plan is to disable the capabilities of some malicious Internet users of copying the source codes of my web pages by using the "View Source" option of Internet Explorer and the equivalent function in Netscape Navigator. Please somebody help me in this matter (I'm planning to use an IDEA algorithm using JCE)....
    It would be big help if a running code is supplied.
    Thank you very much in advance.
    God Bless!!!
    - Jonathan Untalan([email protected])

    don't know theses softs. What i know about encrypted web pages, is that you need a secure socket connection (https).
    Your web page will be ciphered, send to the user, and decipher by the browser with the signature file associated to your https connexion.
    It isn't possible to encrypt your page directly, and then decrypt them when requested.
    For the download time, only the server is responsible for this.
    if it is overloaded, then it will slow down its upload.
    Maybe you use some encryption method that require a lot of CPU time.
    For summary : you can only cipher the pipe transport, but not the transported pages.
    Good luck in your search.

  • A question about reading tomcat source code

    Hi, everyone!
    I just saw the tomcat source code, there is a method named "await" in StandardServer class. The comment of this method decribe that this method will wait util a proper shutdown command is received.
    I'm confused about it after read this method.
    In my opinion, this method create a server socket on port 8005 by default, and wait for "SHUTDOWN" string to only close the server socket which is listening on port 8005.
    But I think this method is supposed to close all the server sockets which are listenning for client's request and belong to this server when port 8005 received "SHUTDOWN" string.
    Thank you in advance.
    Edited by: Garrett.Li on Oct 17, 2007 9:18 AM

    about reading tomcat source code i cant get you man,

  • Help to Compile the B1DE Source Code

    Hi Experts,
    I downloaded the B1DE 2.1 for 2007A source code. I need a template for SAP Wizard Installer for VS2010, Can you please help me on how to recompile the B1AddOnInstallerNETWizard so that i can have a new template for VS2010 for B1DE. Thanks
    Ben

    For example, the native methods, for instance,
    socketcreate() ,are dependent upon the default socket
    implementation. If the system contained more than one
    socket implementations, how would I make the javac to
    use my required implementation????
    OKay, we just seem to be going in circles here.
    First of all, please, give up this idea. Even if you make these changes and get it to compile you are not going to be able to redistribute this application. So it's a non-starter.
    So let us move on to trying to actually solve your problem. What exact problem are you having? What are these "other" socket implementations that you need/want?
    Please give some details about the problem you trying to solve.

  • Network Java Native Library libnet.jnilib source code or functions name

    Hi,
    I am using libnet.jnilib in my networking project but i am not aware about the internal structure of this library. Is this open source library? Is oracle JNI project open source as jdk? If It is, Where can i get source code for that? If It is not, Can u help me to get the methods name and signatures for the libnet.jnilib library?
    Thank you,
    Gaurav

    You're looking in the wrong place, so it's pointless. You can't get any information about what the TCP/IP stack is doing at the network layer or what the NIC is doing at the physical layer from Java's native code. All it does is call the C Sockets API. It is essentially part of the application, not part of the operating system or network layer or physical layer, and it doesn't know any of those from Adam.
    You need to attach some drivers into the network stack to get that kind of information. All that you could get by instrumenting Java's native networking code is the flow of data into and out of the application, and you can get that via network stack drivers too. You should also have a look at the several implementations of Jpcap.

  • Netstat source code

    I need to develop a tool which supposed to list all opened socket and their state like netstat. Can
    anybody tell me which header file and which library I need to use and how?
    Or can i get source code of NETSTAT for solaris, which will be extremely useful for me?
    Thanks
    Rajesh

    i suggest you read the license
    there is also a gpl version of netstatAs far as I understood rajesh930 only wants to look at the source to understand how the tool works. He does not want to modify or use the source.
    => No license problems.
    Martin

  • I am running 10.6.8 and using iweb for my web site. After several SEO analysis they all indicate I need H1-6 header tags. After looking at the source code I see there are none in iweb. Is it necessary to add? If so, how do I add H Tags to iweb.

    I am running 10.6.8 and using iweb for my web site. After several SEO analysis they all indicate I need H1-6 header tags. After looking at the source code I see there are none in iweb. Are they necessary to add?  Why would one add these tags and how do I add H Tags to iweb? And are there examples to look at? I am slowly learning about simple web design and assumed that iweb was stand alone without having to write code. Is this one of the reasons iweb is no longer supported? Thanks for looking at this!

    A simple text page like this:
    Heading
        sub heading
              text paragraph ....
    Is traditionally represented by html tags like:
    <h1>Heading</h1>
         <h2>sub heading</h2>
              <p>text paragraph ... </p>
    I would guess that the use of h1-h6 tags helps search engines to understand the structure of a page as the tags imply a certain structure.
    This can be compared to more generic tags like <div> that could represent any kind of content - and may be what iWeb uses (you'll have to check yourself).
    I would generally recommend that you use some kind of up to date blog/site building tool, perhaps Wordpress or Squarespace (I haven't used either one myself) that support current web technologies - this should reduce your SEO issues and make it easier to properly support mobile/tablet users.

  • Source code not generated in mapping

    Hi,
      I tried mapping an Idoc to an XSD in my mnessage mapping.When I try to check my message mapping I get an error msg : "<Mappingname> has no Source Code"...My scenario is only some fields of Idoc map to the XSD and the rest are constants..I am in XI3.
    Any help is appreciated...
    -Teresa

    Hi Teresa,
    Have you tried deleting the map and re-doing it ? Or is this unfeasible ?
    Cheers
    Colin

  • Ask again:  Where can I find source code for CPRM algorithm?

    Hi, everyone.
    Where can I find reference implementation or some sample codes for CPRM(content protection for recordable media) algorithm? Can anyone help?
    Information about CPRM can be find here,
    http://www.4centity.com/
    JAVA version is preferred and C/C++ implementation is also OK.
    Thanks in advance,
    Geo

    Thanks, edsonw buddy!
    I only found C2 cipher source code and some other documents dealing with CPRM algorithm. And what I want is total CPRM implementation reference source code (C2 is only a basic module of CPRM algorithm).
    So can you provide me some useful information dealing with how to get total CPRM implementation reference source code? Both JAVA and C/C++ will be OK.
    Have a wonderful weekend,
    George

  • Functional Module:Need  some sample source code.

    Hi All,
    I have created  a customized table   u2018ZStock_Order_Dealeru2019 with the following fields:
    Stock_Order_Dealer
    Dealer Number
    S2D order Number     
    Line item Number     
    Material Number     
    Ordered Quantity     
    Batch Number     
    Received Quantity     
    S2D from D2G     
    Receiving Date
    I need to  create a remote enabled function module in CRM system to fetch the u2018Batch Numberu2019 and u2018Received Quantityu2019 fields when the Material Number is fed to it.Please note that the input and output should be tables.
    Could some one please give some sample source code for this.

    I used table types and select queries to resolve this problem.

  • How to get source code for WinCE 6.0 USB Camera Driver for ARM4I Processor

    Hi,
    I am implementing USB camera driver for my mini2440 board which has an ARM4I processor. The sample code
    "Windows Embedded CE 6.0 USB camera Driver" downloaded from:
    http://www.microsoft.com/downloads/en/details.aspx?FamilyID=2ef087c0-a4ae-42cc-abd0-c466787c11f2
    does not support ARM4I processors. When trying to generate in VS2005 Platform Builder my WinCE 6.0
    image for mini2440 with the Third party catalog items "MJPEG Decompression Filter" and "USB CameraDriver",
    the linker giver errors. Please advise where to find a working source code for USB (now revision 1.1
    ("full-speed") is supported in my WinCE 6.0 image) camera for my ARM4I processor. The code should 
    be in C# but C++ will be fine also.
    Thanks,
       Paul

    i get this on the hyperterminal when i run the cameradshowapp.exe
    Compulab Windows CE NAND X-Loader for CM-T35                                           
    Built Dec 20 2009 at 16:48:16                            
    Version 1.01.222               
    Commit Date 16/12/09                   
    Jumping to bootloader                    
    Microsoft Windows CE Bootloader Common Library Version 1.4 Built Dec 20 2009 16:                                                                               
    46:16    
    INFO:OALLogSetZones: dpCurSettings.ulZoneMask: 0x200b                                                    
    Texas Instruments Windows CE EBOOT for CM-T35, Built Dec 20 2009 at 16:48:10                                                                           
    Version 1.01.222               
    OMAP3430 Version 0x4b7ae02f (Unknown)                                    
    TPS659XX Version 0x10 (ES2.x)                            
    -OEMPinMuxSetup....                  
    System ready!            
    Preparing for download...                        
    INFO: Predownload               
    +FMD_Init        
    Checking bootloader blocks are marked as reserved (Num = 6)                                                          
    +FMD_Init        
    WARN: Boot config wasn't found, using defaults                                             
    +FMD_Init        
    OALFlashStoreOpen: 4096 blocks, 64 sectors/block                                               
    OALFlashStoreOpen: 2048 bytes/sector, 14 reserved blocks                                                       
    Calling LCD_TurnOn                 
    +FMD_Init        
    +FMD_Init        
    BLConfigureFlashPartitions: dwBootPartitionSectorCount = 0x5fff, partition actua                                                                               
    l size =0x4d3a!!!                
    Hit space to enter configuration menu 5...                                         
    Hit space to enter configuration menu 4...                                         
    Hit space to enter configuration menu 3...                                         
    Hit space to enter configuration menu 2...                                         
    Hit space to enter configuration menu 1...                                         
    INFO: Boot Device location = 0x8000020                                     
    Load NK image from flash memory                              
    +FMD_Init        
    ROMHDR (pTOC = 0x823b8c28) ---------------------                                               
      DLL First           : 0x4001c001                                 
      DLL Last            : 0x41c7c0d8                                 
      Physical First      : 0x84001000                                 
      Physical Last       : 0x863bbdec                                 
      Num Modules         :        294                                 
      RAM Start           : 0x863c0000                                 
      RAM Free            : 0x863d5000                                 
      RAM End             : 0x90800000                                 
      Num Copy Entries                        
      Copy Entries Offset : 0x85256e38                                 
      Prof Symbol Length  : 0x00000000                                 
      Prof Symbol Offset  : 0x00000000                                 
      Num Files           :        116                                 
      Kernel Flags        : 0x00000002                                 
      FileSys RAM Percent : 0x00000020                                 
      Driver Glob Start   : 0x00000000                                 
      Driver Glob Length  : 0x00000000                                 
      CPU                 :     0x01c2                                 
      MiscFlags           :     0x0002                                 
      Extensions          : 0x84002020                                 
      Tracking Mem Start  : 0x00000000                                 
      Tracking Mem Length : 0x00000000                                 
    NK Image Loaded            
    Launch Windows CE image by jumping to 0x80001000...                                                  
    Windows CE Kernel for ARM (Thumb Enabled) Built on Apr  5 2011 at 17:47:22                                                                         
    +OEMInit       
    ýSETDATAOUT access is OK....                           
    Forcing clean boot                 
    MainMemoryEndAddress = 0x90800000                                
    -OEMInit       
    +FMD_Init        
    Dumping registry defined VK                          
    Row 0:  0x18    0x9     0x25    0x0     0x0     0x0                                                  
    Row 1:  0x26    0xd     0x28    0x0     0x0     0x0                                                  
    Row 2:  0x27    0x24    0x23    0x0     0x0     0x0                                                  
    Row 3:  0x0     0x0     0x0     0x0     0x0     0x0                                                  
    Row 4:  0x0     0x0     0x0     0x0     0x0                                             
    Row 5:  0x0     0x0     0x0     0x0     0x0     0x0                                                  
    SMSC922x: Core Ethernet Init.                            
    Lan9220 identified. ID_REV = 0x92200000                                      
    SMSC922x: MAC address = 00:01:c0:0a:a0:db                                        
    Lan9220 identified. ID_REV = 0x92200000                                      
    SMSC922x: MAC address = 00:01:c0:09:88:80                                        
    SDIO8686: Loading Driver [version = 38.p44]                                          
    SDIO8686: Reset with TPS GPIO 2 --> done                                       
    !!!Kernel mode PSL 'PRdr' de-registered!!!                                         
    !!!Kernel mode PSL 'HRdr' de-registered!!!                                         
    !!!Kernel mode PSL 'FRdr' de-registered!!!                                         
    EHCI USB Host: HcdPdd_Init+                          
    [OTG] OMAPMHSUSBOTG::Init()+                           
    OMAPMHSUSBOTG::PostInit(): Start.                                
    DSPLINK Module (1.61.04) created on Date: Jun 24 2009 Time: 16:30:52                                                                   
    Display parameters:                  
            Height = 0x280                     
            Width = 0x1e0
            HSW = 0x20
            HFP = 0x8
            HBP = 0x17
            VSW = 0x1
            VFP = 0x4
            VBP = 0x3
            DVI is not enabled
            PixelClkDiv = 0x7
            LogClkDiv = 0x1
            ClkSelDSS = 0x5
    TD035:: LCDTurnOn
    TD035STEE1: Turned display on.
    TD035:: Finished LCD VGA init
    AUTOLAUNCH: Checking HKEY_LOCAL_MACHINE\Startup key for programs to run.
    Can't open HKEY_LOCAL_MACHINE\Startup key.
    [WiFi]: Firmware Version: 9.70.3.23
    CCaptureFramework: Failed setting up the camera data.
    CameraDShowApp: Initializing the camera driver list failed.CameraDShowApp: Retri
    eving the driver list failed.CameraDShowApp: Selecting the camera device failed.
    CameraDShowApp: Selecting the camera device failed.CameraDShowApp: Selecting the
     camera device failed.CameraDShowApp: Selecting the camera device failed.CCaptur
    eFramework: Retrieving the still stream config failed.
    CameraDShowApp: Initializing the capture graph failed.

  • Cannot find source code for Employee Benefit application

    Hello,
    I am trying to find the Employee Benefit Sample Application which used to be provided by Oracle at http://otn.oracle.com/sample_code/products/ias/content.html. Unfortunately I couldn’t find the source code anywhere, neither by searching through oracle sites, nor through the internet.
    Could someone please help me get it, since I just started working on applications based on this model and it is really important for me to have a complete example that works.
    Thanks in advance,
    Stefanos

    Hello,
    This sample application used to work on older versions which is no longer supported. This is the reason, it has been removed.
    Thanks.

  • I need Expert Decomposition of classes in Source Code for my reaserch purpose. Any body can help me in this regard?

    <blockquote>Locked by Moderator as a duplicate/re-post.
    Please continue the discussion in this thread: [tiki-view_forum_thread.php?comments_parentId=698286&forumId=1]
    Thanks - c</blockquote>
    == Issue
    ==
    I have another kind of problem with Firefox
    == Description
    ==
    I need Expert Decomposition of classes in Source Code of Firefox for my research purpose. Any body can help me in this regard?
    == This happened
    ==
    Not sure how often
    == Firefox version
    ==
    3.0.19
    == Operating system
    ==
    Windows XP
    == User Agent
    ==
    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.19) Gecko/2010031422 Firefox/3.0.19
    == Plugins installed
    ==
    *-Default Plug-in
    *RealPlayer(tm) LiveConnect-Enabled Plug-In
    *6.0.12.1662
    *Office Plugin for Netscape Navigator
    *Google Update
    *Shockwave Flash 10.1 r53
    *Yahoo Application State Plugin version 1.0.0.7
    *Next Generation Java Plug-in 1.6.0_18 for Mozilla browsers
    *Adobe PDF Plug-In For Firefox and Netscape
    *DRM Netscape Network Object
    *Npdsplay dll
    *DRM Store Netscape Plugin

    Please let me tell you that I Expert Decomposition may be of any Version of Firefox or Thunder Bird.

  • Source code has syntax error in SAP PI7.1 Mapping Test

    HI All,
    IN SAP P7.1  created simple two data types, message types and Message Mapping with only 2 fields. While testing the mapping in Message Mapping it is giving the error as
    Source text of object Message Mapping: MM_Source_to_Target | http://abc.com has syntax errors:
    Source code has syntax error:
    I am able to activate the Datatypes and Message Types but not able to activate the Messge mapping.
    Please if any body faced the same problem please give the solution.
    One more thing is I am able to test the Message Mapping available in BASIS 7.1 Software Component objects. It is executing successfully...
    but otherthan this SWC it not working success fully.....
    Regards
    Sridhar Goli

    Hi David,
    please check the default trace. It may contain the entry:
    Error in compiling : java.io.IOException: Not enough space
    If that's the case, maybe there's too little space for the swap file/device.
    You should ensure that at least 2X (preferably 3X) of Heap (-Xmx) is configured as real swap
    Hope that helps.
    Regards,
    Gábor Klauzer

Maybe you are looking for