这是一个小程序,在Client端输一个String,Server端可以接受到,
Server再来一个String Client又可以接受到....
想在Server和Client端增加一个退出功能,输入quit就可以退出
试了很多下,不知应该在哪里把它打断,大家可以补充一下啊,万分感谢啊
Server 端代码
import java.io.*;
import java.net.*;public class TalkServer {
public static void main(String[] args) {
InputStream is = null;
OutputStream os = null;
ServerSocket ss = null;
try {
ss = new ServerSocket(8888);
} catch(UnknownHostException e) {
System.out.println("无法监听该端口");
} catch(IOException e) {
e.printStackTrace();
}
try{
while(true) {
Socket s = ss.accept();
is = s.getInputStream();
os = s.getOutputStream();
DataInputStream dis = new DataInputStream(is);
DataOutputStream dos = new DataOutputStream(os);
System.out.println(dis.readUTF());
System.out.print("Server: ");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line = br.readLine();
dos.writeUTF("Server: "+line);
dos.flush();
dis.close();
dos.close();
s.close();
}
} catch(IOException e) {
e.printStackTrace();
}
}
}
Client 端代码import java.io.*;
import java.net.*;public class TalkClient {
public static void main(String[] args) {
InputStream is = null;
OutputStream os = null;
Socket s = null;
while(true) {
try {
s = new Socket("127.0.0.1",8888);
} catch (UnknownHostException e) {
System.out.println("无法连接服务器");
} catch(IOException e) {
e.printStackTrace();
}
try{
os = s.getOutputStream();
is = s.getInputStream();
DataOutputStream dos = new DataOutputStream(os);
DataInputStream dis = new DataInputStream(is);
System.out.print("Client: ");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line = br.readLine();
dos.writeUTF("Client: "+line);
dos.flush();
System.out.println(dis.readUTF());
dos.close();
dis.close();
s.close();
} catch(IOException e) {
e.printStackTrace();
}
}
}
}
Server再来一个String Client又可以接受到....
想在Server和Client端增加一个退出功能,输入quit就可以退出
试了很多下,不知应该在哪里把它打断,大家可以补充一下啊,万分感谢啊
Server 端代码
import java.io.*;
import java.net.*;public class TalkServer {
public static void main(String[] args) {
InputStream is = null;
OutputStream os = null;
ServerSocket ss = null;
try {
ss = new ServerSocket(8888);
} catch(UnknownHostException e) {
System.out.println("无法监听该端口");
} catch(IOException e) {
e.printStackTrace();
}
try{
while(true) {
Socket s = ss.accept();
is = s.getInputStream();
os = s.getOutputStream();
DataInputStream dis = new DataInputStream(is);
DataOutputStream dos = new DataOutputStream(os);
System.out.println(dis.readUTF());
System.out.print("Server: ");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line = br.readLine();
dos.writeUTF("Server: "+line);
dos.flush();
dis.close();
dos.close();
s.close();
}
} catch(IOException e) {
e.printStackTrace();
}
}
}
Client 端代码import java.io.*;
import java.net.*;public class TalkClient {
public static void main(String[] args) {
InputStream is = null;
OutputStream os = null;
Socket s = null;
while(true) {
try {
s = new Socket("127.0.0.1",8888);
} catch (UnknownHostException e) {
System.out.println("无法连接服务器");
} catch(IOException e) {
e.printStackTrace();
}
try{
os = s.getOutputStream();
is = s.getInputStream();
DataOutputStream dos = new DataOutputStream(os);
DataInputStream dis = new DataInputStream(is);
System.out.print("Client: ");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line = br.readLine();
dos.writeUTF("Client: "+line);
dos.flush();
System.out.println(dis.readUTF());
dos.close();
dis.close();
s.close();
} catch(IOException e) {
e.printStackTrace();
}
}
}
}
你是Client输入一个String,Server接受,你上面说Server在输入一个String,client的接受?
两个矛盾了吧,还有想在Server和Client端增加一个退出功能?两边都增加?
import java.net.*;public class TalkServer {
public static void main(String[] args) {
InputStream is = null;
OutputStream os = null;
ServerSocket ss = null;
Socket s = null;
try {
ss = new ServerSocket(6688);
} catch(UnknownHostException e) {
System.out.println("无法监听端口");
} catch(IOException e) {
e.printStackTrace();
}
try{
s = ss.accept();
is = s.getInputStream();
os = s.getOutputStream();
DataInputStream dis = new DataInputStream(is);
DataOutputStream dos = new DataOutputStream(os);
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println(dis.readUTF());
System.out.print("Server: ");
String line = br.readLine();
while(!line.equals("bye")) {
dos.writeUTF("Server: "+line);
dos.flush();
System.out.println(dis.readUTF());
System.out.print("Server: ");
line = br.readLine();
}
dos.writeUTF("Server: "+line);
dos.flush();
dis.close();
dos.close();
s.close();
ss.close();
} catch(IOException e) {
e.printStackTrace();
}
}
}import java.io.*;
import java.net.*;public class TalkClient {
public static void main(String[] args) {
InputStream is = null;
OutputStream os = null;
Socket s = null;
try {
s = new Socket("127.0.0.1",6688);
} catch (UnknownHostException e) {
System.out.println("无法连接服务器");
} catch(IOException e) {
e.printStackTrace();
}
try{
os = s.getOutputStream();
is = s.getInputStream();
DataOutputStream dos = new DataOutputStream(os);
DataInputStream dis = new DataInputStream(is);
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Client: ");
String line = br.readLine();
while(!line.equals("bye")) {
dos.writeUTF("Client: "+line);
dos.flush();
System.out.println(dis.readUTF());
System.out.print("Client: ");
line = br.readLine();
}
dos.writeUTF("Client: "+line);
dos.flush();
dos.close();
dis.close();
s.close();
} catch(IOException e) {
e.printStackTrace();
}
}
}