Java socket server with VB.NET client?
===

Is this even possible? I have a java server program on a mac that I need to use to communicate back to a windows program. I have the client working in Java, but I can't seem to figure out how to get it to work in VB.net...

Here is the Java code...


    import java.io.*;
    import java.net.InetAddress;
    import java.net.Socket;

    public class socketClient {

    public static void main(String[] args) {
        /**
         * Define a host server
         */
        String host = "10.1.1.194";
        /**
         * Define a port
         */
        int port = 19999;

        StringBuffer instr = new StringBuffer();
        String TimeStamp;
        System.out.println("SocketClient initialized");

        try {

             //Obtain an address object of the server
            InetAddress address = InetAddress.getByName(host);
            
            
            //Establish a socket connection
            Socket connection = new Socket(address, port);
            
            //Instantiate a BufferedOutputStream object  
            BufferedOutputStream bos = new BufferedOutputStream(connection.getOutputStream());

            /**
             * Instantiate an OutputStreamWriter object with the optional
             * character encoding.
             */
            OutputStreamWriter osw = new OutputStreamWriter(bos, "US-ASCII");

            TimeStamp = new java.util.Date().toString();
            String process = "Initiate file transfer on " + host + " port " + port
                    + " at " + TimeStamp + (char) 13;
            
            //Write across the socket connection and flush the buffer
            osw.write(process);
            osw.flush();


            /**
             * Instantiate a BufferedInputStream object for reading /**
             * Instantiate a BufferedInputStream object for reading incoming
             * socket streams.
             */
            BufferedInputStream bis = new BufferedInputStream(connection.getInputStream());
            /**
             * Instantiate an InputStreamReader with the optional character
             * encoding.
             */
            InputStreamReader isr = new InputStreamReader(bis, "US-ASCII");


            //Read the socket's InputStream and append to a StringBuffer
            int c;
            while ((c = isr.read()) != 13) {
                instr.append((char) c);
            }

            //Close the socket connection.
            connection.close();
            System.out.println(instr);
        } 
        catch (IOException f) 
        {
            System.out.println("IOException: " + f);
        } 
        catch (Exception g) 
        {
            System.out.println("Exception: " + g);
        }
    }
    }



And here is my VB.NET code that I have so far...

 

    Private clientSocket As Socket
    Private host As String = "10.1.1.194"
    Private port As Integer = 19999

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click

        Try


            Dim add As New IPEndPoint(IPAddress.Parse(host), port)

            clientSocket = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)

            clientSocket.Connect(add)

            Dim netStream As New NetworkStream(clientSocket, True)

          

            Dim outstream As Byte() = System.Text.Encoding.ASCII.GetBytes("Initiate file transfer from " _
            & System.Environment.MachineName & " on " & host & " port " & port & " at " & TimeOfDay)


            netStream.Write(outstream, 0, outstream.Length)
            netStream.Flush()

        Catch ex As Exception
            Debug.Write(ex.Message)
        End Try


        End Sub


Now, if I run the vb code, it hangs... and nothing appears in my console on the mac (Like it does when I use the java client), however, when I close the VB code, I get the java.net.SocketException: Connection reset error, so I must be getting pretty close to figuring this out.

The thing is, I know almost nothing when it comes to socket programming, so if someone could push me in the right direction, it would be very appreciated!