初学java,刚学到网络这节,试着写了个服务器端和客户端,调试了下,总是输出不了。大家看看要怎么修改,谢谢。
import java.net.*;
import java.io.*;
public class TestSever{ public static void main(String[] args) throws Exception{ ServerSocket a=new ServerSocket(8888); while(true){ Socket s=a.accept(); System.out.println("a client connect!"); InputStream x=s.getInputStream(); InputStreamReader p=new InputStreamReader(x); BufferedReader h=new BufferedReader(p); System.out.println(h.readLine()); h.close(); p.close(); x.close();
}
}
}
import java.net.*;
import java.io.*;public class TestClient{ public static void main(String[] args) throws Exception{ Socket s=new Socket("127.0.0.1",8888); OutputStream w=s.getOutputStream(); BufferedOutputStream q=new BufferedOutputStream(w);
String l; InputStreamReader c=new InputStreamReader(System.in); BufferedReader d=new BufferedReader(c); while(true){ l=d.readLine(); System.out.println(d.readLine()); q.write(l.getBytes(),0,l.length()-1);
} q.close(); }
}
import java.net.*;
import java.io.*;
public class TestSever{ public static void main(String[] args) throws Exception{ ServerSocket a=new ServerSocket(8888); while(true){ Socket s=a.accept(); System.out.println("a client connect!"); InputStream x=s.getInputStream(); InputStreamReader p=new InputStreamReader(x); BufferedReader h=new BufferedReader(p); System.out.println(h.readLine()); h.close(); p.close(); x.close();
}
}
}
import java.net.*;
import java.io.*;public class TestClient{ public static void main(String[] args) throws Exception{ Socket s=new Socket("127.0.0.1",8888); OutputStream w=s.getOutputStream(); BufferedOutputStream q=new BufferedOutputStream(w);
String l; InputStreamReader c=new InputStreamReader(System.in); BufferedReader d=new BufferedReader(c); while(true){ l=d.readLine(); System.out.println(d.readLine()); q.write(l.getBytes(),0,l.length()-1);
} q.close(); }
}
{
int port = Integer.parseInt(args[0]);
try
{
ServerSocket srv = new ServerSocket(port);
System.err.println("Echo server start at port: "+port);
while (true)
{
Socket clnt = srv.accept();
DataInputStream dataIn=new DataInputStream(new BufferedInputStream(clnt.getInputStream()));
DataOutputStream dataOut=new DataOutputStream(new BufferedOutputStream(clnt.getOutputStream()));
System.out.println("Clinet connected from: "+clnt.getInetAddress());
String req=dataIn.readUTF();
String send = req.toUpperCase();
dataOut.writeUTF(send);
dataOut.flush();
dataIn.close();
dataOut.close();
}
}
catch(IOException ioe)
{
System.err.println(ioe);
}
}
加一句
w.print("hello");
我们上课模拟的时候 也是自己在自己的机器上模拟 SERVER AND CLIEN 端的
不是这个原因吧
我们上课模拟的时候 也是自己在自己的机器上模拟 SERVER AND CLIEN 端的
不是这个原因吧
import java.net.*;
public class TalkServer { public static void main(String[] args) {
ServerSocket server=null;
String line;
try{
server = new ServerSocket(4550);
}catch(Exception e){
System.out.println("Can't connect to the Client Socket!");
System.exit(0);
}
Socket socket=null;
try {
socket = server.accept();
} catch (IOException e) {
e.printStackTrace();
}
try {
BufferedReader is = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter os = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()));
BufferedReader sin = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Client:"+is.readLine());
line = sin.readLine();
if(!line.equals("bye")){
os.println(line);
os.flush();
System.out.println("Server:"+line);
System.out.println("Client:"+is.readLine());
line=sin.readLine();
}
is.close();
os.close();
sin.close();
} catch (IOException e) {
e.printStackTrace();
}
}}
import java.net.*;
public class TalkServer { public static void main(String[] args) {
ServerSocket server=null;
String line;
try{
server = new ServerSocket(4550);
}catch(Exception e){
System.out.println("Can't connect to the Client Socket!");
System.exit(0);
}
Socket socket=null;
try {
socket = server.accept();
} catch (IOException e) {
e.printStackTrace();
}
try {
BufferedReader is = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter os = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()));
BufferedReader sin = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Client:"+is.readLine());
line = sin.readLine();
if(!line.equals("bye")){
os.println(line);
os.flush();
System.out.println("Server:"+line);
System.out.println("Client:"+is.readLine());
line=sin.readLine();
}
is.close();
os.close();
sin.close();
} catch (IOException e) {
e.printStackTrace();
}
}}
import java.io.*;
import java.net.*;
public class TalkClient { public static void main(String[] args) {
Socket socket =null;
try{
socket = new Socket("127.0.0.1",4550);
BufferedReader sin = new BufferedReader(new InputStreamReader(System.in));
PrintWriter os = new PrintWriter(socket.getOutputStream());
BufferedReader is = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String readline;
readline = sin.readLine();
while(!readline.equals("bye")){
os.println(readline);
os.flush();
System.out.println("Client:"+readline);
System.out.println("Server"+is.readLine());
readline = sin.readLine();
}
os.close();
is.close();
socket.close();
}catch(Exception e){
e.printStackTrace();
System.out.println("Error"+e);
} }}网速原因.多发了一次服务端的..见谅.