Stream-Mode Sockets

Hi, I am working through a pradtice paper. I need to learn something for tomorrows exam.
Here is the Question
2b) Write detailed Java pseudo code fragments using stream-mode sockets. The code should reflect the following scenario:
•     the server listens on a particular socket
•     the client requests for a connection;
•     the server accepts the connection request;
•     the server sends the message “Send me a line of text” to the client;
•     the client receives the message;
•     The client sends the string “here is a line of text.”
•     The server receives the line
•     The server changes the text into upper case
•     The server sends the changed text back.
•     The client receives the changed text.
Although your code does not need to be syntactically correct, it needs to be detailed enough to show the correct understanding of how the host addresses and port numbers are related to the sockets; it needs to show the correct use of classes and methods.
So Far I have found thins:
Client:
package NetworkProgramming;
import java.io.*;
import java.net.*;
public class Client2 {
public static void main(String[] args) throws Exception {
Client2 myCli = new Client2();
myCli.run();
public void run() throws Exception {
Socket mySkt = new Socket("localhost", 9999);
PrintStream myPS = new PrintStream(mySkt.getOutputStream());
myPS.println("Hello Server");
BufferedReader myBR = new BufferedReader(new InputStreamReader(mySkt.getInputStream()));
String temp = myBR.readLine();
System.out.println(temp);
Server:
package NetworkProgramming;
import java.io.*;
import java.net.*;
public class Server2 {
public static void main(String[] args) throws Exception {
Server2 myServ = new Server2();
myServ.run();
public void run() throws Exception {
ServerSocket mySS = new ServerSocket(9999);
Socket SS_accept = mySS.accept();
BufferedReader SS_BR = new BufferedReader(new InputStreamReader(SS_accept.getInputStream()));
String temp = SS_BR.readLine();
System.out.println(temp);
if (temp != null) {
PrintStream SSPS = new PrintStream(SS_accept.getOutputStream());
SSPS.println("got Something");
Is this the right stuff?
How can i implement the parts in the question into this. like the sending messages, change to upper case etc.
Many thanks for your help.

1. When posting code, use code tags so it will be readable: http://forums.oracle.com/forums/ann.jspa?annID=1429
2. You'll find you get better responses if you ask a more specific question and show your attempt to solve the problem yourself, as opposed to just pasting your assignment and some code you "found" and then asking, "How do I do the rest of this?"

Similar Messages

  • Moving purchases done on an ATV in streaming mode to my PC

    I have chosen to use my ATV in streaming mode as I had many issues in Sync mode. Would appreciate some hints on the following challenge:
    I have purchased movies using my ATV. These purchased movies are not showing up in iTunes on my PC. How do I move these across to my PC in order to ensure I have a backup and be able to transfer them to my iPod Touch?

    you need to have sync mode turned on for items to auto-sync back to itunes from appletv.
    turn it on, but then choose "custom sync". this will allow items to sync back to itunes, but will keep the 100% stream that you require.
    this is how mine is set up.

  • No tone in Streaming Mode

    Hello, i have 2 Apple TV Boxes wich are connected by WLan over a Linksys WLan Router to the Network.
    My Steaming Device is a Mac Mini with OSX 10.5.5 the Apple TV Boxes have Firmware 2.2.
    In the streaming Mode (Movies in iTunes (Version 8.01) on the Mac Mini can be played on the MacMini without problems) i can see the Movie but i can't get any tone on the Apple TV Boxes.
    Also if i want to play the movie on the Mac Mini and want to stream only the tone to the Apple TV Boxes i get no tone there too. Can sombody help me ?????

    Hy with no tone i mean no Audio signal. I can see the Movie but without any audio signal.
    The Audio Streaming (Music streaming) works i can play my i Tunes Audio Mediafiles with audio Signal and i can playback them also from iTunes in the Multi Speaker Mode but when i play Movies or stream Movies i get no audio signal. ?????????

  • How to enable chunked streaming mode using OSB config file

    Hi All,
    Is there way through which we can enable and disable the chunked streaming mode option in Business service (of OSB) through OSB configuration file?? If yes, please let me know.
    Thanks,
    Aditya

    Hi Aditya,
    I don't think it can be done dynamically the way you described... But I believe you can create two business services, one with chunked=on and the other with chunked=off and route to one of them dynamically according to your configuration...
    Cheers,
    Vlad

  • Instance Label in Stream Mode and Different Preference with Same Portlet

    Hi Guys,
    I encounter some problems need your help,
    1. When I use Stream mode, and add a portet, but there is no way to changed instance label, if it's possible to change instance label in Stream mode
    2. I have one portal, and there are some instances of one portlet inside, I just want to set preference to every instance, so portlet can do different work, how to do it?
    Thanks,
    Jing

    When I did the second last production upgrade I used the import facility. Breadcrumbs and templates did not link up to the pages correctly. It took me quite awhile to fix all the problems that were found.
    When I used the import facility for the last production upgrade I kept primary key violations on varying wwv.Flow tables. I used the same process that I had always used to do upgrades. I got in contact with the company that is paid to give us support on Oracle issues.
    They said that the problem was that the size of the sql file created from the export was causing the problem, that it had gone over the HTMLDB 2 limits of 64K.
    We then used the flows_020000 account to upgrade the production application. That fixed all the problems that I was experiencing.
    So to install at the new district with the situation as described in the original question I need to change the application number. That is why I thought of changing the application number if the sql export file.
    This is causing me a fair few headaches so any help and ideas are really appreciated.

  • Abort of a OCILobRead() (streaming mode)

    I have a problem on canceling a sequence of OCILobRead() calls. They are in streaming mode, setting the amtp parameter to 0, and calling it over and over again as long as OCILobRead() returns OCI_NEED_DATA.
    According to the documentation, a sequence of those calls can be aborted with OCIBreak(), but this does not work in my case. The OCIBreak call returns without error, but the next OCI operation on that connection fails with:
    ORA-03127 no new operations allowed until the active operation ends.
    I tried it in both blocking mode and nonblocking mode, but the resulting error is the same.
    Any help would be appreciated.

    I tried that, but it doesn't work too. I dont get the mentioned error ORA-01013, but the additional OCILobRead returns again OCI_NEED_DATA.
    It seems that the OCIBreak had no influence at all on the sequence of calls.
    I extracted the code to a small test program, maybe i missed something during initialization (mode???), or statement prep?
    #include <string.h>
    #include <stdlib.h>
    #include <stdio.h>
    #include <oci.h>
    static OCIEnv*     oci_env     = NULL;  // Environment handle
    static OCISvcCtx*  oci_svcctx  = NULL;  // Service handle
    static OCIServer*  oci_server  = NULL;  // Server handles
    static OCIError*   oci_error   = NULL;  // Error handle
    static OCISession* oci_session = NULL;  // Session handle
    static OCIStmt*    oci_stmt    = NULL;  // Statement handle
    void checkerr(sword status)
      switch (status)
        case OCI_SUCCESS:
          break;
        case OCI_SUCCESS_WITH_INFO:
          printf("Info - OCI_SUCCESS_WITH_INFO\n");
          break;
        case OCI_NEED_DATA:
          printf("Info - OCI_NEED_DATA\n");
          break;
        case OCI_NO_DATA:
          printf("Info - OCI_NODATA\n");
          break;
        case OCI_ERROR:
          text  errbuf[1024];
          sb4   errcode = 0;
          OCIErrorGet(oci_error, 1, NULL, &errcode, errbuf, sizeof(errbuf), OCI_HTYPE_ERROR);
          printf("Error - %s\n", errbuf);
          break;
        case OCI_INVALID_HANDLE:
          printf("Error - OCI_INVALID_HANDLE\n");
          break;
        case OCI_STILL_EXECUTING:
          printf("Info - OCI_STILL_EXECUTE\n");
          break;
        case OCI_CONTINUE:
          printf("Error - OCI_CONTINUE\n");
          break;
        default:
          break;
    void logon(char* user, char* pass, char* host)
      // allocate environment handle
      checkerr(OCIEnvCreate(&oci_env, OCI_DEFAULT, NULL, NULL, NULL, NULL, 0, NULL));
      // allocate error handle
      checkerr(OCIHandleAlloc(oci_env, (dvoid**)&oci_error, OCI_HTYPE_ERROR, 0, NULL));
      // allocate server handle
      checkerr(OCIHandleAlloc(oci_env, (dvoid**)&oci_server, OCI_HTYPE_SERVER, 0, NULL));
      // allocate service context
      checkerr(OCIHandleAlloc(oci_env, (dvoid**)&oci_svcctx, OCI_HTYPE_SVCCTX, 0, NULL));
      checkerr(OCIServerAttach(oci_server, oci_error, (text*)host, strlen(host), 0));
      // set attribute server context in the service context
      checkerr(OCIAttrSet(oci_svcctx, OCI_HTYPE_SVCCTX, oci_server, 0, OCI_ATTR_SERVER, oci_error));
      // allocate session handle
      checkerr(OCIHandleAlloc(oci_env, (dvoid**)&oci_session, OCI_HTYPE_SESSION, 0, NULL));
      // set attributes username and password in the session context
      checkerr(OCIAttrSet(oci_session, OCI_HTYPE_SESSION, user, strlen(user), OCI_ATTR_USERNAME, oci_error));
      checkerr(OCIAttrSet(oci_session, OCI_HTYPE_SESSION, pass, strlen(pass), OCI_ATTR_PASSWORD, oci_error));
      // begin session
      checkerr(OCISessionBegin(oci_svcctx, oci_error, oci_session, OCI_CRED_RDBMS, OCI_DEFAULT));
      checkerr(OCIAttrSet(oci_svcctx, OCI_HTYPE_SVCCTX, oci_session, 0, OCI_ATTR_SESSION, oci_error));
    void logoff()
      checkerr(OCISessionEnd(oci_svcctx, oci_error, oci_session, OCI_DEFAULT));
      checkerr(OCIServerDetach(oci_server, oci_error, OCI_DEFAULT));
      /* free handles */
      if (oci_session)
        OCIHandleFree(oci_session, OCI_HTYPE_SESSION);
      if (oci_svcctx)
        OCIHandleFree(oci_svcctx, OCI_HTYPE_SVCCTX);
      if (oci_server)
        OCIHandleFree(oci_server, OCI_HTYPE_SERVER);
      if (oci_error)
        OCIHandleFree(oci_error, OCI_HTYPE_ERROR);
      if (oci_stmt)
        OCIHandleFree(oci_stmt, OCI_HTYPE_STMT);
      if (oci_env)
        OCIHandleFree(oci_env, OCI_HTYPE_ENV);
    int checkout()
      text*          select = (text*) "SELECT blob_obj FROM te_rblock WHERE te_rblock.obj_id = '301000xxx:1:1'";
      OCIDefine*     oci_define;
      OCILobLocator* oci_lob;
      ub2            oci_ind, oci_rlen, oci_rcode;
      checkerr(OCIHandleAlloc(oci_env, (dvoid**)&oci_stmt, OCI_HTYPE_STMT, 0, NULL));
      checkerr(OCIStmtPrepare(oci_stmt, oci_error, select, strlen((char*)select), (ub4)OCI_NTV_SYNTAX, (ub4)OCI_DEFAULT));
      checkerr(OCIDescriptorAlloc(oci_env, (void**)&oci_lob, OCI_DTYPE_LOB, 0, NULL));
      checkerr(OCIDefineByPos(oci_stmt, &oci_define, oci_error, 1, &oci_lob, 0, SQLT_BLOB, &oci_ind, &oci_rlen, &oci_rcode, OCI_DEFAULT));
      checkerr(OCIStmtExecute(oci_svcctx, oci_stmt, oci_error, 1, 0, NULL, NULL, OCI_DEFAULT));
      ub4       offset = 1;
      ub4       amount = 0;
      const ub4 PIECE_SIZE = 128;
      ub4       piece_len = PIECE_SIZE;
      char      piece[PIECE_SIZE + 1];
      int       counter = 0;
      sword     ret = OCI_NEED_DATA;
      while (ret == OCI_NEED_DATA)
        checkerr(ret = OCILobRead(oci_svcctx, oci_error, oci_lob, &amount, offset, piece, piece_len, NULL, NULL, 0, SQLCS_IMPLICIT));
        // if we dont interrupt it, everything is ok
        if (++counter == 5)
          checkerr(OCIBreak(oci_svcctx, oci_error));
          break;
      checkerr(OCIHandleFree(oci_stmt, OCI_HTYPE_STMT));
      oci_stmt = NULL;
      return 0;
    int main(int argc,char* argv[])
      if (argc != 4)
        printf("usage: %s <dbuser> <pwd> <db>\n", argv[0]);
        return -1;
      logon(argv[1], argv[2], argv[3]);
      // first checkout works fine
      checkout();
      // second time ORA-03127 occurs!!
      checkout();
      logoff();
      return 0;

  • SQL Exception not in streaming mode

    Hi friends
    I am using oracle driver and I am getting this error on queries very randomly.I am using Oracle8i 8.1.5 on NT machine.
    SQL Exception not in streaming mode
    Can anybody explaing why and when this error gets generated and what is the solution for it.
    Please contact me at the following emailids
    [email protected]
    [email protected]
    null

    What do you do with the connection before the prepareStatement()? Is your program small enough to post here (use [code]...[/code] tags)? Do you have multiple threads that try to use the same connection simultaneously? Do you work with Long, Clob or Blob columns? What JDBC driver version?

  • Struts / Page Flow - forwards to home page in streaming mode

    I have a pretty complex page flow with several actions and several forwards. The
    page flow is using struts validation (using the xml file). It is also user the
    Portal User Controls.
    Everything works fine in .portal file. However, in streaming mode, from a jsp
    when I click on an netui:anchor, the action gets executed, but then it redirects
    to the home page, not to the page which has the portlet.

    More info: I can place a page component on my page flow diagram but I cannot place any other components. They won't display. Placing the page component on the diagram does not put code into the source file. Also, I get the following compile error: Error(1,1):<Line 1, Column 1>:XML-20108:(Fatal Error) Start of root element expected.
    Thanks!

  • NI-8452 Stream Mode more than 64bits?

    I hava an SPI ADC which I want to read using the stream API for high conversion rates (using the NI-8452) but want to read back all 7 ADC channels in one multi-read SPI command. The maximum number of bits that the stream API seems to support is 64 bits where I need to really read out about 232 (7 x 32 + 8 for the read command). Is there any way around this?
    I use the stream mode to detect a DRDY event, but once a single channel is read the output on the ADC chip is reset (so subsequent interrupts will only be generated on new data).
    Seems fairly limited otherwise.
    Solved!
    Go to Solution.

    David,
    The payload that you are trying to stream is not a standard for SPI. We try to follow the SPI standards and give you up to 64 bits to stream at a time. If you cannot split your reads into separate 64 bit reads, you will be unable to perform this operation with the 8452. If you had some other interface, such as FPGA, you my be able to implement a custom SPI protocol on the FPGA. With the 8452, however, you do not have these options.

  • Multible I/O Streams on Socket

    tachwohl
    How can a Server send multible I/O Stream to a single User at the same time?
    Ok, I have the following problem. This days, I'm coding a Client/Server Application. The Client/Server Connection is "should" be static during runtime.
    The Server and the application should be possible sends and recieves Objects all the time.
    The Client have a Socket, whitch connects to the Server. After connecting, the Server creates a InputStream and OutputStream and the Client has to buid a InputStream and a OutputStream right?
    After this, when my Client want to send or recieve something, I have to use the I/O Streams and socket created before, right?
    The Problem now, wenn I Stream one Object at the time through the I/O Stream, all works fine.
    But when my Server starts beeing Multithread, sending more than one object to the client (per thread started I/O Stream), I can't read the Input on the pipes end.
    What's the solution? Always creating a new I/O Stream? Working with SocketChannel (Non Blocking I/O)?
    plz need help
    thx

    I see, I have to do the OutputStreams one after one, right?
    Isn't there any way to create multible "outputpipes" over one socket at the same time?

  • Stop during viewing of HD-movie in stream mode

    Ladies and gentlemen,
    I had problems with Apple TV
    Chart of my connecting:
    *Apple TV <–> AirPort Extreme (802.11n ( n-only )) <–> iMac 24 (C2D) <–> external HDD WD MyBook 750 gb (FW800)* .
    I convert a HD-movie from the .mkv ( +KLCP Matroska File , Video: MPEG4, (H264) 1280x544, 23.98fps, Audio: Dolby AC3 48000Hz stereo, filesize 4,5 gb+ )
    I convert a movie in Visualhub. In the parameters of this program specify that a format on an output must correspond the format of Apple TV. I get a Mp4-file
    I plug Apple TV in the ”Streaming” mode, аnd begin to look a movie. Some time all shows fine, but in 10-15 minutes play is stopped (a picture is frozen, sound is stopped), after press pause/play, I can again continue viewing, but after a while problem will repeat again.
    I noticed that precipices were halted 50% film, and stops take a place only at the active stages of film (moving car, explosions, or any other quickly-moving objects)
    I will be beholden for elucidations of my question.
    With kind regards
    Message was edited by: megadzilla

    Actually that isn't what I suggested.
    I suggested you convert from matroska to DV and then from from DV to .m4v
    If there is an error in your conversion from matroska to h364 with visualhub that error won't disappear by reconverting it.
    If you don't wish to try what I suggested, open one of the files you are having trouble with in QT, open the inspector window and tell us what it says, I suspect it will seem OK but we can have a look and see.
    Of course your problem could be a slow network, but if you don't wish to diagnose your problem it likely won't get solved.

  • Stream based socket , server implementation

    Please help me with this simple server and socket problem.
    SERVER_
    package com.supratim;
    import java.io.DataInputStream;
    import java.io.DataOutputStream;
    import java.io.IOException;
    import java.net.ServerSocket;
    import java.net.Socket;
    public class SocketServer {
         private static ServerSocket server;
         public static void main(String[] args) throws IOException {
              server = new ServerSocket(9999);
              new SocketServer().go();
         private void go() throws IOException {
         while(true) {
              Socket socket = server.accept();
              DataInputStream dataInputStream = new DataInputStream(socket.getInputStream());
              DataOutputStream dataOutputStream = new DataOutputStream(socket.getOutputStream());
              byte[] buff=new byte[dataInputStream.available()];
              int i;
              while((i=dataInputStream.read())>0) {
                   dataInputStream.read(buff, 0, buff.length);
              String inputMessage="INPUT MESSAGE OBTAINED : "+new String(buff);
              byte[]outputBuffer = inputMessage.getBytes();
              dataOutputStream.write(outputBuffer);
              dataOutputStream.flush();     
              socket.close();
    CLIENT+
    package com.supratim;
    import java.io.DataInputStream;
    import java.io.DataOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.net.Socket;
    import java.net.UnknownHostException;
    public class SocketClient {
         public static void main(String[] args) throws UnknownHostException, IOException {
              new SocketClient().go();
         private void go() throws UnknownHostException, IOException {
              Socket socket = new Socket("localhost",9999);
              InputStream dataInputStream = socket.getInputStream();
              OutputStream dataOutputStream = socket.getOutputStream();
              String inputMessage="ABCDEFGHIJKLMNOPQRSTWXYZ";
              byte[]outputBuffer = inputMessage.getBytes();
              dataOutputStream.write(outputBuffer);
              dataOutputStream.flush();     
              byte[] buff=new byte[dataInputStream.available()];
              int i;
              while((i=dataInputStream.read())>0) {
                   dataInputStream.read(buff, 0, buff.length);
              System.out.println("RESPONSE : "+new String(buff));
              socket.close();
    }When I try to connect to the SERVER from CLIENT, nothing happens. As soon as I terminate the CLIENT, the following stack trace comes...
           Exception in thread "main" java.net.SocketException: Connection reset
            at java.net.SocketInputStream.read(SocketInputStream.java:168)
            at java.net.SocketInputStream.read(SocketInputStream.java:182)
            at java.io.FilterInputStream.read(FilterInputStream.java:66)
            at com.supratim.SocketServer.go(SocketServer.java:26)
            at com.supratim.SocketServer.main(SocketServer.java:14)Please tell me, am I missing something??
    I dont want to use PrintWriter,BufferedReader,BufferedWriter...

    jverd wrote:
    supratim wrote:
    jverd wrote:
    supratim wrote:
    tjacobs01 wrote:
              while((i=dataInputStream.read())>0) {
                   dataInputStream.read(buff, 0, buff.length);
              }This is your problem. InputStream.read is going to block progressif it is so...how am I suppose to check the end of the stream....what is the way out??I'm not really sure what problem you're having or what you're asking. However, if your problem is that you want your server to be able to accept new connections while it's servicing an earlier conneciton--that is, service multiple requests at once--then, clearly, you need to use multiple threads. At the very least, one for accepting connections and one for servicing the requests that come on those connections.The problem is when the client is connecting to send a message as a byte stream...the message does not reach there..eventually the connection resets... why is that?? which part of the SocketServer is being blocked...and what is its way out??
    Let's say it is used in a single threaded environment..only one client is connecting at a time...Does the client flush()? Does it close() the Socket's OutputStream?
    If you don't flush(), data that you have sent may not be received.
    If you don't close(), the server won't know the client is done sending, so he'll never get the -1.
    (Or, alternative to calling OutputStream.close(), you could call Socket.shutdownOutput(), I think.)
    Edited by: jverd on Jul 12, 2011 10:49 AMplease check the code...flushing...closing are all there...

  • Mixing byte & character stream over socket

    Hi,
    I would like to transmit a file name first to my server ( string )
    then I transmit the contents of an arbitrary file ( byte )
    I tried to chain two different filters to the InputStream instance returned by the socket, but it does not seem to work.
    What is the best way to do that ?
    Do I have to read my initial file name string by a byte stream and rebuild it ?
    Tks

    I Use this code
    InputStream bin = socket.getInputStream();
    OutputStream bout = socket.getOutputStream();
    PrintWriter in = new PrintWriter( bout, true);
    BufferedReader out = new BufferedReader(
    new InputStreamReader(bin) );
    on server and on client just change the socket reference,
    The programs works fine just the first and second time and after
    the second time, the PrintWriter and BufferedReader works
    as an InputStream and an OutputStream, Do you know how to indicate
    to the Print Writer and OutputStream that are reading text ?
    TNX, Alex

  • Basic stream/file/socket closing question

    If you create a stream, it's generally considered good practice to call close() on that stream once you're done with it. the same for files and sockets. My question is what happens if I don't keep a reference to the object that needs closing. For example:
    BufferedInputStream bis = new BufferedInputStream(new FileInputStream(new File("myfile.txt")));Clearly, I can close() bis. But does doing so close the FileInputStream, and the File? OR, will those remain open until the garbage collecter gets around to closing them. If not, is it considered good practice to keep references around for the sole purpose of explicitly closing the resource so you don't have to wait for garbage collection?
    Finally, is it necessary to close() sockets/files/streams prior to calling System.exit()? It would save me a great deal of code in my exception handlers if I could simply exit() without explicitly freeing the resources I've opened prior to hitting the exception.
    Thanks.

    You should only need to call close on bis. That method call should take care of calling close on the underlying stream.

  • HTTP 1.1: Using streams over socket; How ?

    Can anyone give me a short example as how to handle streams over a persistent socket-connection ?
    I've trouble handling this.
    I can't "reget" the stream (create a new input/output stream over an existing socket-connection).
    Is there someone who can help me ?
    I'm getting confused !!!

    Since no one helped I could only try to find out myself:
    The problem is I used some example-source that fitted well for HTTP 1.0, but led to erroneous results when applied to HTTP 1.1
    It's no problem in HTTP 1.1, but you need to read ALL input (headers and possibly content) before trying to process anything:
    From the headers you need to read until an empty line is discovered.... Don't just break on return or newline, this will leave an extra character in the input:
    Protocol requires both \r and \n. So you always break 1 char to early when scanning bytes and then concluding on a \r that the line is over.
    Then you should possibly read 'contentlength bytes' (I've not tried it out yet) in case of POST.
    Flushing is enough to write all data to output.
    Open and close can't work. "Regetting" a stream is not possible, so all input for this request must be taken from inputstream before trying to process the next request.

Maybe you are looking for

  • EJB 3.0 Entity Synchronization

    Can I synchronize an EJB 3.0 entity object with a database table? I ask specifically for a foreign key I added to the the table after the creation of the entity object. If I can't how can I do it manually?

  • I install my CS6 Design and Web Premium unsuccessfully.

    I install my CS6 Design and Web Premium.    The whole process seem normal until at the end it says, "Installation finished.  But unsuccessfully for the following modules."  And then showing all the modules icons.  What should I do now?

  • Strange issue when switching between spaces

    This morning my laptop (MBP) started doing strange things when I switch space. For starters, it takes a lot longer to actually make the transition. Then, when the desktop has moved, it takes a second or so for the primary application window on that d

  • Hooking your powerbook to a tv monitor

    hi.. i kinda new to mac.. Is there a way to hook your powerbook to a tv so that you can view it on tv?

  • How to work with FTPs?

    Hi all, I need to pick the file from client system using FTPs with SSL. Please let me know what are the configuration or installation  need to be done while doing this scenario. we are using PI7.1 system. As i know we have to deploy SAP javacryptogra