所以,我在将数据从C#客户端发送到Java服务器时遇到了问题。连接正在经历,但是我想把某个地方搞乱。Java服务器,C#客户端。发送数据
这里的ServerSided代码
package com.chris.net;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
public class Server implements Runnable
{
private String serverName;
private boolean isRunning;
private ServerSocket serverSocket;
private Socket clientSocket;
public Server(String name, int port)
{
try
{
this.serverName = name;
this.serverSocket = new ServerSocket(port);
this.isRunning = true;
new Thread(this).start();
}
catch (IOException e)
{
e.printStackTrace();
}
}
private BufferedReader recv;
public void run()
{
while(isRunning)
{
try
{
clientSocket = serverSocket.accept();
System.out.println("Client Connected from " + clientSocket.getInetAddress().getHostAddress() + ":" + clientSocket.getPort());
recv = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
System.out.println("Data Recieved: " + recv.readLine());
clientSocket.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
}
下面是
lass TCPClient
{
private TcpClient Client;
private NetworkStream Stream;
private Byte[] Data;
public TCPClient(string address, int port)
{
Client = new TcpClient();
Client.Connect(address, port);
Stream = Client.GetStream();
SendData("Test Data");
while (Client.Connected)
{
}
}
public void SendData(string message)
{
Data = System.Text.Encoding.ASCII.GetBytes(message);
Stream.Write(Data, 0, Data.Length);
Console.WriteLine("Sent: {0}", message);
}
}
服务器注册连接的客户端代码,客户端似乎认为它已经发送的数据,但我可以”告诉客户端是否没有发送数据,或者服务器没有收到数据。考虑到Console.Writeline只是打印出被转换为字节的消息,我不知道。
嗨,你有这个问题的最终解决方案吗?我有同样的问题,但我无法得到正确的解决方案:( – budiantoip