这个是客户/服务器面向连接通信的案例:可是我只能编译但不能运行,我在Socket的构造器的写的IP是我自己电脑的,绝对不会错。望各位高手赐教
(客户端)
import java.io.*;
import java.net.*; public class SayhelloClient
{
public static void main(String[] args) throws IOException
{
Socket socket = new Socket("192.168.1.103", SayhelloServer.PORT);
try
{
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream())); PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())), true); out.println("您好,这是来自客户端的信息。");
out.println("END");
String str = in.readLine();
System.out.println("服务器端:" + str);
}
finally
{
socket.close();
}
}
} (服务器端)
import java.net.*;
import java.io.*; public class SayhelloServer
{
public static final int PORT = 8000; public static void main(String[] args) throws IOException
{
ServerSocket s = new ServerSocket(PORT); try
{
Socket socket = s.accept();
try
{
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream())); 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("客户端:" + str);
out.println("您好,信息已收到。");
}
}
finally
{
socket.close();
}
}
finally
{
s.close();
}
}
}
(客户端)
import java.io.*;
import java.net.*; public class SayhelloClient
{
public static void main(String[] args) throws IOException
{
Socket socket = new Socket("192.168.1.103", SayhelloServer.PORT);
try
{
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream())); PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())), true); out.println("您好,这是来自客户端的信息。");
out.println("END");
String str = in.readLine();
System.out.println("服务器端:" + str);
}
finally
{
socket.close();
}
}
} (服务器端)
import java.net.*;
import java.io.*; public class SayhelloServer
{
public static final int PORT = 8000; public static void main(String[] args) throws IOException
{
ServerSocket s = new ServerSocket(PORT); try
{
Socket socket = s.accept();
try
{
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream())); 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("客户端:" + str);
out.println("您好,信息已收到。");
}
}
finally
{
socket.close();
}
}
finally
{
s.close();
}
}
}
我运行了,可以的.
要先运行服务器端,再运行客户端。