Re: problem when sending data over TCP socke from c# client to jav

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance



Vadym,

there is no error on the send method, just the java server doesn't get thet
data.
i think the problem is that there is no Socket.Flush() method , because if
after the sock.send i call to sock.Shutdown(SocketShutdown.Both) them the
java server gets the sent data.

Thanks.


"Vadym Stetsyak" wrote:

> What error Send is returning?
> Was the Connect(...) method uccessful - check Connected property of the
> socket.
>
> The client is not sending anything at all?
>
> --
> Vadym Stetsyak aka Vadmyst
> "yaron" <yaron@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
> news:8EB087B7-0A11-4470-8124-51EE5CB1B5DA@xxxxxxxxxxxxxxxx
> > Hi,
> >
> > I have a problem when sending data over TCP socket from c# client to java
> > server.
> > the connection established ok, but i can't send data from c# client to
> java
> > server.
> > it's work ok with TcpClient, NetworkStream and StreamWriter classes.
> >
> > but with low level socket it doesn't work (When using the Socket class
> Send
> > method).
> > here is the sample code (c# and java):
> > ===========
> > C# Code
> > ===========
> >
> > public static void RunSocketTcpClient()
> > {
> > Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream,
> > ProtocolType.Tcp);
> > IPEndPoint iep = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 8080);
> > byte[] data = new byte[1024];
> > string stringData;
> > int recv=0;
> > sock.Connect(iep);
> > data = Encoding.ASCII.GetBytes("Hello");
> > sock.Send(data, data.Length, SocketFlags.None);
> > }
> >
> > =================
> > The Java code
> > =================
> > //: c15:JabberServer.java
> > // Very simple server that just
> > // echoes whatever the client sends.
> > // {RunByHand}
> > import java.io.*;
> > import java.net.*;
> >
> > public class JabberServer {
> > // Choose a port outside of the range 1-1024:
> > public static final int PORT = 8080;
> > public static void main(String[] args)
> > throws IOException {
> > ServerSocket s = new ServerSocket(PORT);
> > System.out.println("Started: " + s);
> > try {
> > // Blocks until a connection occurs:
> > Socket socket = s.accept();
> > try {
> > System.out.println(
> > "Connection accepted: "+ socket);
> > BufferedReader in =
> > new BufferedReader(
> > new InputStreamReader(
> > socket.getInputStream()));
> > // Output is automatically flushed
> > // by PrintWriter:
> > PrintWriter out =
> > new PrintWriter(
> > new BufferedWriter(
> > new OutputStreamWriter(
> > socket.getOutputStream())),true);
> > while (true) {
> > String str = in.readLine();
> > if (str.equals("END")) break;
> > System.out.println("Echoing: " + str);
> > out.println(str);
> > }
> > // Always close the two sockets...
> > } finally {
> > System.out.println("closing...");
> > socket.close();
> > }
> > } finally {
> > s.close();
> > }
> > }
> > } ///:~
> >
> > Thanks.
> >
>
>
>
.



Relevant Pages