Java套接字发送数据
我创建了两个类,一个是服务器和客户端,我通过套接字输入和输出流发送数据,但是不能发送多条消息 服务器:Java套接字发送数据,java,sockets,Java,Sockets,我创建了两个类,一个是服务器和客户端,我通过套接字输入和输出流发送数据,但是不能发送多条消息 服务器: public class SOK_1_SERVER { public static void main(String[] args) throws Exception { SOK_1_SERVER Sever = new SOK_1_SERVER(); Sever.run(); } private void run() th
public class SOK_1_SERVER {
public static void main(String[] args) throws Exception
{
SOK_1_SERVER Sever = new SOK_1_SERVER();
Sever.run();
}
private void run() throws Exception {
ServerSocket SRVSOCK = new ServerSocket(444);
//Waits both client and server to accept and we return
//a socket
Socket SOCK = SRVSOCK.accept();
//Once accepted
InputStreamReader isr = new InputStreamReader(SOCK.getInputStream());
BufferedReader br = new BufferedReader(isr);
String message = br.readLine();
System.out.println("I read: " + message + "from Client");
if(message != null)
{
//Sending message back to client
PrintStream ps = new PrintStream(SOCK.getOutputStream());
ps.println("Message Received");
ps.println("Send from Server");
}
}
}
客户
public class SOK_1_CLIENT {
public static void main(String[]args) throws Exception
{
SOK_1_CLIENT client = new SOK_1_CLIENT();
client.run();
}
private void run() throws Exception {
Socket SOCK = new Socket("localhost",444);
PrintStream ps = new PrintStream(SOCK.getOutputStream());
ps.println("Hello to Server from client");
InputStreamReader ir = new InputStreamReader(SOCK.getInputStream());
BufferedReader br = new BufferedReader(ir);
String message = br.readLine();
System.out.println(message);
}
}
它只输出接收到的消息,但我认为这是因为我需要一个循环来不断检查新消息,但不确定,因为我刚刚开始查看套接字。在客户端类中,您需要迭代bufferedReader 而不是
String message = br.readLine();
System.out.println(message);
用这个,
String message ;
while((message = br.readLine())!=null) {
System.out.println(message);
}
您不需要初始值设定项。