Read/write a string in a socket

hi everyone!
I d like to write and read a String such as ("YOU WON: MAGIC NUMBER IS"+ num); through a socket.
Can i use a method of DataInputStream-DataOutputStream or i have to use a method of other class?
thanks

cotton.m wrote:
jverd wrote:
If you want to send a String across a socket, you could either use DataOutputStream.writeObject(yourString), or you could use wrap a BufferedWriter or PrintWriter around the socket's OutputStream Something to note.
ejp is anti-printwriters-attached-to-sockets with the reason being that they swallow exceptions which is not a good idea in networking programming in general.
And I think this is a good point.I hand't thought of that. I agree in general, but would say it should be evaluated for appropriateness on a case-by-case basis.

Similar Messages

  • Question on SNMP Read-Write String ...

    Hi,
    My question is that if I am using an SNMP read-write community string on the device, would Prime LMS still require
    the logging credentials of the device via ie) telnet/ssh ?
    The reason how I undertand this as long as the SNMP manager (Prime LMS) and the agent (end device) have the same read-write community,
    couldn't the Prime LMS just write to the device without the standard logging credentials ? or is the logging credential of the device is a must for it
    to push configuration to the device ?
    Pls advise.
    Many thanks.
    Cheers,
    - sn -

    Even though the SNMP communication is there between device and LMS, it is not possible to configure any device using SNMP, except for the RW variable and OIDs, which are limited in their scope.
    It is not possible to configure, but to copy configuration to or from device using SNMP. See the following document to check further:
    http://www.cisco.com/en/US/tech/tk648/tk362/technologies_configuration_example09186a0080094aa6.shtml
    Many people use this manual process to copy configuration from device using SNMP, edit it and copy back to device to make configuration changes, but ideally no NMS server does it and LMS is no exception.
    It uses transport Layer protocols like telnet/ssh to communicate with device like a normal user to configure commands, which in this case is done by Netconfig job.
    For more details see :
    http://www.cisco.com/en/US/products/sw/cscowork/ps2073/products_tech_note09186a00800a6974.shtml
    http://www.cisco.com/en/US/docs/net_mgmt/ciscoworks_resource_manager_essentials/4.3/user/guide/netcfg.html#wp1070214
    -Thanks
    Vinod Arya

  • Reading/writing a string to a bytearrayoutputstream

    I have a small problem whereby
    I want to write a string over a socket, but i want to do this using a bytearrayoutputstream.
    My outputting is done like so
    // CLIENT SIDE
    DataOutputStream output = new DataOutputStream ( socket.getOutputStream());
    // Fill up a byteArrayOutputstream so it contains 2 strings
    // FileLocation and Ip_address
    ByteArrayOutputStream tempbuffer = new ByteArrayOutputStream();
    DataOutputStream buffer = new DataOutputStream( tempbuffer );
    buffer.writeBytes(fileLocation);
    buffer.writeBytes(ip_address);
    buffer.flush();
    byte[] byteArray = tempbuffer.toByteArray();
    int length = byteArray.length;
    output.writeInt(length);
    output.write(byteArray);
    I then want to read in the bytearray at the server and separate it back out ...
    // SERVER SIDE
    // Read in the length of the byte
    int length = input.readInt();
    byte[] fileInfoByte = new byte[length];
    input.read(fileInfoByte);
    ^^^^^^^^^^^^^^^^^^^^^^ - this works fine
    // Separate the information out of the bytearray
    ByteArrayInputStream bytesIn = new ByteArrayInputStream(fileInfoByte) ;
    DataInputStream dataIn = new DataInputStream(bytesIn);
    There seems to be no opposite of DataOutputStream.writeBytes() method
    So i can read the information out of the bytearray ....
    How can i separate out the strings from the bytearray ??
    Much appreciated ..
    M

    In fact, you just need one more steps. All you did before just specified the whole length of the file location and ip address.
    In my coding I will simply do as
    DataOutputStream output = new DataOutputStream(socket.getOutputStream());
    output.writeInt(fileLocation.length());
    output.writeBytes(fileLocation);
    output.writeInt(ipaddress.length());
    output.writeBytes(ipaddress);At the server side, I will simply
    int length = input.readInt();
    byte[] fileInfoByte = new byte[length];
    input.read(fileInfoByte);
    length = input.readInt();
    byte[] ipaddressByte = new byte[length];
    input.read(ipaddressByte);

  • How to read and write a string into a txt.file

    Hi, I am now using BEA Workshop for Weblogic Platform version10. I am using J2EE is my programming language. The problem I encounter is as the above title; how to read and write a string into a txt.file with a specific root directory? Do you have any sample codes to reference?
    I hope someone can answer my question as soon as possible
    Thank you very much.

    Accessing the file system directly from a web app is a bad idea for several reasons. See http://weblogs.java.net/blog/simongbrown/archive/2003/10/file_access_in.html for a great discussion of the topic.
    On Weblogic there seems to be two ways to access files. First, use a File T3 connector from the console. Second, use java.net.URL with the file: protocol. The T3File object has been deprecated and suggests:
    Deprecated in WebLogic Server 6.1. Use java.net.URL.openConnection() instead.
    Edited by: m0smith on Mar 12, 2008 5:18 PM

  • Read/Write 2d numeric array or string array into bin file

    Can anyone pls help me to resolve this problem
    Attachments:
    bin file.vi ‏9 KB

    You are still using the wrong format.
    Whatever you are doing has nothing to do with a binary file.
    You are still using way too much duplicate code.
    All you probably need is read/write from spreadsheet file, no need to reinvent the wheel.
    Your code will fail if the numbers contain decimal digits (since your array is DBL, it could! If your array only contains integers, you are using the wrong numeric representation).
    You string code will fail if the array elements contains tabs, for example.
    You still don't need a sequence structure.
    LabVIEW Champion . Do more with less code and in less time .

  • Muti-channel read/write through FP data socket posible?

    Hello,
    I'm trying to talk to cFP-1808 module from desktop PC real-time host over Ethernet. I did not find any Fieldpoint driver for desktop RT so I'm forced to use data sockets to communicate with cFP-1808. It seems that one can only read or write to one FP data channel per socket. With typical latency of tens of milliseconds per such read/write and couple of hundreds channels present, I'm looking at SECONDS per cycle time, which is really slow.
    Is there any workaround for this problem?

    You can also read and write to channels in LabVIEW.  First you have to configure your 1808 in MAX and save the IAK file.  You then load the IAK file in LabVIEW by selecting browse in the FieldPoint IO Point In (constant or control).
    In the FieldPoint Device Selection Dialog Windows select the View Configurations Tab.
    In this tab navigate to your IAK file and name it in the text box next to where the full file path is displayed.
    In the Browse FieldPoint Tab of the same window you should now be able to see all of your FieldPoint modules and channels. 
    Message Edited by BLAQmx on 03-06-2008 01:12 PM
    Mark
    LabVIEW R&D

  • Socket read write on Solaris 8 too slow.

    Hi
    We have an application which consists of several server instances.
    The front-end is web-based , using JSP/Servlets. We are using Tomcat 4.0.
    The servlet makes several connections to the underlying servers. But the read/write operation is too slow. Same setup runs much quicker on Windows.
    We are running jdk1.4.1_02 (stable ?). Would much appreciate any help.
    cheers
    Projyal

    tomcat version --3.2.3
    j2sdk version----1.4
    plarform---------solaris
    solaris version--8
    using the aboue configuration i need to deploy JSP codes on the solaris platfrom..can any technical expert guide me on how to do this..would be grateful if anyone could suggest a good site where i can download free tuorials of "JSP" for development in HTML files format or HELP format]
    thank you
    regards
    brijesh

  • How to send string data through socket!

    Is there any method to send string data over socket.
    and if client send string data to server,
    How to get that data in server?
    Comments please!

    Thank for your kind answer, stoopidboi.
    I solved the ploblem. ^^;
    I open the source code ^^; wow~~~~~!
    It will useful to many people. I spend almost 3 days to solve this problem.
    The program works like this.
    Client side // string data ------------------------> Server side // saving file
    To
    < Server Side >
    * Server.java
    * Auther : [email protected]
    import java.io.*;
    import java.net.*;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    public class Server extends JFrame
         private JTextField enter;
         private JTextArea display;
         ObjectInputStream input;
         DataOutputStream output;
         FileOutputStream resultFile;
         DataInputStream inputd;
         public Server(){
              super("Server");
              Container c = getContentPane();
              enter = new JTextField();
              enter.setEnabled(false);
              enter.addActionListener(
                   new ActionListener(){
                        public void actionPerformed(ActionEvent ev){
                             //None
              c.add(enter, BorderLayout.NORTH);
              display = new JTextArea();
              c.add(new JScrollPane(display),
                     BorderLayout.CENTER);
              setSize(300, 150);
              show();
         public void runServer(){
              ServerSocket server;
              Socket connection;
              int counter = 1;
              display.setText("");
              try{
                   server = new ServerSocket(8800, 100);
                   while(true){
                        display.append("Waiting for connection\n");
                        connection = server.accept();
                        display.append( counter + " connection is ok.\n");
                        display.append("Connection " + counter +
                             "received from: " + connection.getInetAddress().getHostName());
                        resultFile = new FileOutputStream("hi.txt");
                        output = new DataOutputStream(resultFile);
                        output.flush();
                        inputd = new DataInputStream(
                             connection.getInputStream()
                        display.append("\nGod I/O stream, I/O is opened\n");
                        enter.setEnabled(true);
                        try{
                             while(true){
                                  output.write(inputd.readByte());
                        catch(NullPointerException e){
                             display.append("Null pointer Exception");
                        catch(IOException e){
                             display.append("\nIOException Occured!");
                        if(resultFile != null){
                             resultFile.flush();
                             resultFile.close();
                        display.append("\nUser Terminate connection");
                        enter.setEnabled(false);
                        resultFile.close();
                        inputd.close();
                        output.close();
                        connection.close();
                        ++counter;
              catch(EOFException eof){
                   System.out.println("Client Terminate Connection");
              catch(IOException io){
                   io.printStackTrace();
              display.append("File is created!");
         public static void main(String[] args){
              Server app = new Server();
              app.addWindowListener(
                   new WindowAdapter(){
                        public void windowClosing(WindowEvent e){
                             System.exit(0);
              app.runServer();
    < Client side >
    * Client.java
    * Auther : [email protected]
    package Client;
    import java.io.*;
    import java.net.*;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    public class Client extends JFrame
         private JTextField enter;
         private JTextArea display;
         DataOutputStream output;
         String message = "";
         public Client(){
              super("Client");
              Container c = getContentPane();
              enter = new JTextField();
              enter.setEnabled(false);
              enter.addActionListener(
                   new ActionListener(){
                        public void actionPerformed(ActionEvent e){
                             //None
              c.add(enter, BorderLayout.NORTH);
              display = new JTextArea();
              c.add(new JScrollPane(display), BorderLayout.CENTER);
              message = message + "TT0102LO12312OB23423PO2323123423423423423" +
                        "MO234234LS2423346234LM2342341234ME23423423RQ12313123213" +
                        "SR234234234234IU234234234234OR12312312WQ123123123XD1231232" +
                   "Addednewlinehere\nwowowowwoww";
              setSize(300, 150);
              show();
         public void runClient(){
              Socket client;
              try{
                   display.setText("Attemption Connection...\n");
                   client = new Socket(InetAddress.getByName("127.0.0.1"), 8800);
                   display.append("Connected to : = " +
                          client.getInetAddress().getHostName());
                   output = new DataOutputStream(
                        client.getOutputStream()
                   output.flush();
                   display.append("\nGot I/O Stream, Stream is opened!\n");
                   enter.setEnabled(true);
                   try{
                        output.writeBytes(message);
                   catch(IOException ev){
                        display.append("\nIOException occured!\n");
                   if(output != null) output.flush();
                   display.append("Closing connection.\n");
                   output.close();
                   client.close();
              catch(IOException ioe){
                   ioe.printStackTrace();
         public static void main(String[] args){
              Client app = new Client();
              app.addWindowListener(
                   new WindowAdapter(){
                        public void windowClosing(WindowEvent e){
                             System.exit(0);
              app.runClient();

  • Pls How do I read/write a xml file using java

    I want to read/write trough a server/client a file.xml from evt. the same computer, this is the code for the client
    import java.io.*;
    import java.net.*;
    class client
    public static void main (String args[]) throws Exception
    final String msg = "<beg>note</beg>";
    // BufferedReader in = new BufferedReader(new FileReader("note.xml"));
    final Socket clientSocket = new Socket ("localhost", 8000);
    final OutputStream clientStream = clientSocket.getOutputStream ();
    clientStream.write (msg.getBytes ());
    // clientStream.write (in.getBytes ());
    clientSocket.close ();
    // BufferedReader in = new BufferedReader(new FileReader("note.xml"));
    // System.out.println(in.readLine());
    I want to read it and put it in a buffer...
    please somebody help me!!!
    regards
    Harry

    Pls read this:
    http://forum.java.sun.com/thread.jsp?forum=31&thread=271751
    And don't post the same message twice. It's annoying.

  • Problems with Buffered Read() - write() cycle

    URGENT!!!
    I have two network hosts communicating through Socket.
    i need a cycle of read/write until an escape string is written ("QUIT").
    BUT after first readLine() it stucks on blocking method, doesn't read anything!
    why?
    so my code look like this (i cut out initialization and boring parts):
    BufferedReader input;
    BufferedWriter output;
    String readString = "";
    while(read!="QUIT") {
    output.write("mySentence");
    readString = input.readLine();
    }THANKS

    you are all right, but I do use newLine() just to have the line separator.
    the exception is always the same (this afternoon it didn't result in an exception... ):
    java.net.SocketException: Software caused connection abort: recv failedI really can't figure it out...
    moreover, I don't understand which side generates the problem, since one side is an Applet.
    Again, the curious thing is that before the cycle they read and write (just once) normally!
    I post the actual part of the code, in order not to create misunderstandings...
    of course I used EITHER the "\n" OR the newLine() but not togheter...
    server side the method is called within a thread class...
    APPLET:
    do     {
           String letto = listaParametri.poll();
             os.write(letto);
            os.newLine();
            while( !letto.equals("LAST") );
    os.flush();
    while( this.isActive() )     {
                 received = is.readLine();
               if     ( received.equals("CHANGE") )
                              getAppletContext().showDocument(reloadURL, "_main");
                              break;
               else     if( received.equals("ALIVE") )     
                             {                               os.write("YES\n");
                               os.newLine();
                               os.flush();
                                                  }SERVER:
    while(!CLOSED)
                                         {if(CHANGE)     {
                                                         outputStream.write("CHANGE");
                                                         outputStream.close();
                                                         System.out.println("sent RELOAD comand - now Closed - );
                                                         break;
                                         else     {
                                                    outputStream.write("ALIVE\n");
                                                    //outputStream.newLine();
                                                   outputStream.flush();
                                                        System.out.println("inputStream");
                                                   appletStatus = inputStream.readLine();
                                                        System.out.println(" - appletStatus=" + appletStatus);
                                                   if( appletStatus == null )               CLOSED = true;
                                         else     if( appletStatus.equals("YES") )     CLOSED = false;

  • To export query from Access to Excel in Read/Write mode in VBA

    Below is the code which exports the query named 'LatestSNR' from Access to Excel;
    Public Sub Expdata()
    Dim rst As DAO.Recordset
    Dim Apxl As Object
    Dim xlWBk, xlWSh As Object
    Dim PathEx As String
    Dim fld As DAO.Field
    PathEx = Forms("Export").Text14 'path comes from the directory given in form
    Set Apxl = CreateObject("Excel.Application")
    Set rst = CurrentDb.OpenRecordset("LatestSNR")
    Set xlWBk = Apxl.Workbooks.Open(PathEx)
    'xlWBk.ChangeFileAccess xlReadWrite
    Set xlWBk = Workbook("PathEx")
    Apxl.Visible = True
    Set xlWSh = xlWBk.Worksheets("Metadatasheet")
    xlWSh.Activate
    xlWSh.Range("A2").Select
    For Each fld In rst.Fields
    Apxl.ActiveCell = fld.Name
    Apxl.ActiveCell.Offset(0, 1).Select
    Next
    rst.MoveFirst
    xlWSh.Range("A2").CopyFromRecordset rst
    xlWSh.Range("1:1").Select
    ' selects all of the cells
    Apxl.ActiveSheet.Cells.Select
    ' selects the first cell to unselect all cells
    xlWSh.Range("A2").Select
    rst.Close
    Set rst = Nothing
    ' Quit excel
    Apxl.Quit
    End Sub
    After the execution of code, the query is transferred to excel sheet and is viewed in 'Read only' mode. If I try to save it, a copy of the excel file is produced. Can the Excel be opened in Read/Write mode ? so as to save the workbook and also to transfer
    the query to same workbook repeatedly.
    If in case the change of mode is not possible, then is there any alternative  method?

    Try this version:
    Public Sub Expdata()
    Dim rst As DAO.Recordset
    Dim Apxl As Object
    Dim xlWBk As Object, xlWSh As Object
    Dim PathEx As String
    Dim i As Long
    PathEx = Forms("Export").Text14 'path comes from the directory given in form
    Set Apxl = CreateObject("Excel.Application")
    Set xlWBk = Apxl.Workbooks.Open(PathEx)
    Set xlWSh = xlWBk.Worksheets("Metadatasheet")
    Set rst = CurrentDb.OpenRecordset("LatestSNR")
    For i = 1 To rst.Fields.Count
    xlWSh.Cells(1, i).Value = rst.Fields(i - 1).Name
    Next i
    rst.MoveFirst
    xlWSh.Range("A2").CopyFromRecordset rst
    xlWBk.Close SaveChanges:=True
    Apxl.Quit
    rst.Close
    Set rst = Nothing
    End Sub
    or else
    Public Sub Expdata()
    Dim PathEx As String
    PathEx = Forms("Export").Text14 'path comes from the directory given in form
    DoCmd.TransferSpreadsheet TransferType:=acExport, _
    SpreadsheetType:=acSpreadsheetTypeExcel12Xml, _
    TableName:="LatestSNR", _
    Filename:=PathEx, _
    HasFieldNames:=True, _
    Range:="Metadatasheet!"
    End Sub
    Regards, Hans Vogelaar (http://www.eileenslounge.com)

  • Can I read/write global variables that are in other PC?

    I attach the vis and the executables.
    My problem is that when I run( continuosly, because in other way, I read the default value of the variable) getvalue.vi and setvalue.vi, I don´t have any problem, I can read/write the global variables, the two vis is running in the same PC.
    But when I do the exe and I run them continuosly , it doesn´t work.
    Any solution?
    Thanks in advanced!
    Graci
    Attachments:
    Get_Value.vi ‏30 KB
    Set_Value.vi ‏30 KB
    Exe.zip ‏272 KB

    Hello Bichillo,
    By running the vis continuously you are running into race conditions. If you cannot control when you are writing to or reading from a global variable, you cannot know whether the value writen/read is the right one or not.
    In your case the global variable value that is read is sometimes the last value writen and sometimes an empty string.
    To make the global variable behave as desired, that is, keeping its last value, the global variable must be in memory when you access it using VI Server. If it is not in memory, the returned value is an empty string. That´s why you sometimes get a non-empty string: when you access the global variable to read its value, it happens to be in memory because you´ve just writen to it.
    To ensure that the global
    variable is always in memory and it keeps its last value, you must include the global variable into your block diagram. I am attaching modified vis that implement this.
    Hope it helps.
    César Verdejo
    Training and Certification | National Instruments
    Attachments:
    Get-_Set_Value.llb ‏48 KB

  • Write a String in File

    Hi All,
    I want to write a string into a file, and I wrote the following code.
    package fileoperations;
    import java.io.*;
    class FileWriterDemo {
         public static void main(String args[]) throws Exception {
              String source = "Now is the time for all good men\n"
              + " to come to the aid of their country\n"
              + " and pay their due taxes.";
              FileReader fr = new FileReader("./src/domparser/employee.xml");
              FileWriter f0 = new FileWriter("./src/domparser/sample.txt");
              BufferedReader br = new BufferedReader(fr);
              int c=0;
              while ((c=br.read())!=-1) {
                   System.out.print((char)c);
                   f0.write((char)c);
              f0.close();
              fr.close();
    }The above specified code is running successfully and write the string in the specified file. If I comment the following
    two lines
                //f0.close()
                //fr.close()
             The string was not written in the specified file. I don't know what is the reason for that. Can any one give me the
    reason for that.
    Thanks and Regards,
    D.Maheswaran

    f0.close();This is the critical line. FileWriter acts like a buffer and calling the close method causes the buffer to be flushed, ie push out all the data stored in the buffer. Otherwise your program can and has exited with data left in the buffer and not written out to the file.

  • Incorrect data type when writing to FPGA Read/Write Control

    I have run in to a problem this morning that is causing me substantial headache.  I am programming a CompactRIO chassis running in FPGA mode (not using the scan engine) with LabVIEW 2012.  I am using the FPGA Read/Write Control function to pass data from the RT Host to the FPGA Target.  The data the RT host is sending comes from a Windows host machine (acting as the UI) and is received by the RT Host through a network published variable.
    The network published shared variable (shared between the RT and Windows system) is a Type Def cluster containing several elements, one of which is a Type Def cluster of fixed point numerics.  The RT system reads this shared variable and breaks out the individual elements to pass along to various controls on the FPGA code's front panel.  The FPGA's front panel contains a type def cluster (the same type def cluster, actually) of fixed point numerics.
    The problem comes in the RT code.  After I read the shared variable I unbundle the cluster by name, exposing the sub-cluster of fixed point numerics.  I then drop an FPGA Read/Write Control on the RT block diagram and wire up the FPGA reference.  I left click on the FPGA Read/Write Control and select the cluster of fixed point numerics.  I wire these together and get a coercion dot.  Being a coercion dot hater, I hover over it the dot and see that the wire data type is correct (type def cluster of fixed point numerics), but the terminal data type is listed as a cluster containing a Boolean, code integer and source string, also known as an error cluster.  I delete the wire and check the terminal data type on the Read/Write Control, which is now correctly listed as a type def cluster of fixed point numerics.  Rewiring it causes the terminal to revert back to the error cluster.  I delete the wire again and right click on the terminal to add a control.  Sure enough, a type def cluster of fixed point numerics appears.  Right clicking and adding an indicator to the unbundle attached to the network shared variable produces the proper result.  So, until they are attached to each other, everything works fine.  When I wire these two nodes together, one spontaneously changes to a error cluster.
    Any thoughts would be appreciated.

    My apologies I never got back to responding on this.  I regret that now because I got it to work but never posted how.  I ran in to the exact same problem today and returned to this post to read the fix.  It wasn't there, so I had to go through it all over again.
    The manifestation of the problem this time was that I was now reading from the Read/Write FPGA front panel control and writing to a network published shared variable.  Both of these (the published shared variable and the front panel control) were based on a strict type defined cluster, just like in the original post.  In this instance, it was a completely different cluster in a completely different project, so it was not a one-off thing.
    In addition to getting the coercion dot (one instance becoming an error cluster, recall), LabVIEW would completely explode this time around.  If I saved the VI after changing type definition (I was adding to the cluster) I would get the following error:
    Compile error.  Report this problem to N.I. Tech Support.  Copy cvt,csrc=0xFF
    LabVIEW would then crash hard and shutdown without completing the save.  FYI, I'm running LabVIEW 12.0f3 32-bit.
    If I would then reopen the RT code, the same crash would occur immediately, ad nauseam.  The only way to get the RT code to open was to change the type defined cluster back to the way it was (prior to adding the new element).
    I didn't realize it last time around (what originally prompted this post), but I believe I was adding to a type def cluster when this occurred the first time.
    So, how did I fix it this time around? By this point I tried many, many different things, so it is possible that something else fixed it.  However, I believe that all I had to do was to build the FPGA code that the RT code was referencing.  I didn't even have to deploy it or run it... I just had to build it.  My guess is that the problem was the FPGA Reference vi (needed to communicate with the FPGA) is configured (in my case) to reference a bit file.  When the development FPGA Main.vi ceases to match the bit file, I think that bad things happen.  LabVIEW seems to get confused because the FPGA Main.vi development code is up and shows the new changes (and hence has the updated type def), but when you ask the RT code to do something substantial (Open, Save, etc), it refers to the old bit file that has not yet been updated.  That is probably why the error getting thrown was a compile error.
    I'm going to have to do an additional round of changes, so I will test this theory.  Hopefully I will remember to update this post with either a confirmation or a retraction.

  • Access 2013 Read/Write Connection on 365

    Have web tables all set up on 365 account.  Have set the connection management to Read/Write.  But I can't figure out how to link to them from a desktop Access app.
    From within the desktop app if I use the External Data tab - to link to them - attempting the Sharepoint Lists - - - the tables don't appear.  Am pretty sure because the web tables on 365 are not Sharepoint Lists.
    Have searched on this for awhile and am not finding instructions anywhere.  ...  One can get a Reporting desktop app set up with a single button but it is read only......sure wish it was this easy for read/write..... 
    Appreciate any help......

    It still possible to use a 2010 web application in 2013 that is using SharePoint tables, so some confusing here is legitimate.
    In your case as you WELL note you using 2013, and thus as you WELL note it makes no sense to look for tables in SharePoint when clearly that is not where they reside.
    To find the connection string in the web application just go file.
    You see your application name, and below that
    Data Connectivity
    In that you see the server name, and the database name. You can use your 365 Account as the logon + password.
    However, for a read/write? In the above area, click on "manage" beside the connections.
    In the list of options for connections such as "From any location", and the "Enable Read-write" connections, there is an option called:
    View Read-Write Connection Information
    Click on the above option. This will result in a dialog box that gives you database name, and the user + password required to link to that database in read/write mode.
    So you simply create a regular plane Jane desktop database.  You then choose external data and then choose ODBC. This will let you create a link to SQL server. How this works much the same as it always has in Access (more then 16+ years).  You
    then type in the correct server + user information from above web application.
    I do think you need to choose the new ODBC 11 (Native sql server driver) for this to work. So, don't choose SQL from the list of drivers, but choose the new native or ODBC 11 drivers when setting up the ODBC connection from Access.
    Best regards,
    Albert D. Kallal (Access MVP)
    Edmonton, Alberta Canada

Maybe you are looking for