//服务器程序:
package net;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;public class Server { private ServerSocket server = null; int nPort = 3000; public Server() throws IOException
{
server = new ServerSocket(nPort);
System.out.println("服务器启动");
} public void service() {
while (true) {
Socket socket=null;
try {
socket = server.accept();//等待客户连接 BufferedReader br = getReader(socket);
PrintWriter pw = getWriter(socket); System.out.println("New Connection accepted"
+ socket.getInetAddress() + socket.getPort()); String message = null; while ((message = br.readLine()) != null) {
System.out.println(message); pw.println(message); if (message.equals("exit"))
break;
} } catch (IOException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
} finally {
try {
if(socket!=null)
socket.close();
} catch (IOException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
}
} private BufferedReader getReader(Socket socket) throws IOException {
InputStream socketIn = socket.getInputStream();
return new BufferedReader(new InputStreamReader(socketIn));
} private PrintWriter getWriter(Socket socket) throws IOException {
OutputStream socketOut = socket.getOutputStream();
return new PrintWriter(socketOut);
}
public static void main(String args[]) throws IOException
{
new Server().service();
}
}//客户机程序:
package net;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.io.Writer;
import java.net.Socket;
import java.net.UnknownHostException;public class Client { /**
* @param args
*/
private int nPort=3000;
private String host="localhost";
private Socket socket=null;
public Client() throws UnknownHostException, IOException
{
socket=new Socket(host,nPort);
System.out.println("客户端启动");
}
public static void main(String[] args) throws UnknownHostException, IOException
{
new Client().talk();
} public void talk()
{
try {
BufferedReader br=getReader(socket);
PrintWriter pw=getWriter(socket);
BufferedReader localReader=new BufferedReader(new InputStreamReader(System.in));
String msg=null;
while((msg=localReader.readLine())!=null)
{
msg=localReader.readLine();
pw.println(msg);
System.out.println(br.readLine());
if(msg.equals("bye"))
break;
}
} catch (IOException e) {
e.printStackTrace();
}
finally
{
try {
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
private PrintWriter getWriter(Socket socket) throws IOException {
OutputStream socketOut=socket.getOutputStream();
return new PrintWriter(socketOut,true);
}
private BufferedReader getReader(Socket socket) throws IOException {
InputStream SocketIn=socket.getInputStream();
return new BufferedReader(new InputStreamReader(SocketIn));
}}
产生的问题是客户机向服务器发送一条信息后,服务器受到信息,但是就死“机”了,哪位大侠指点下。。
package net;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;public class Server { private ServerSocket server = null; int nPort = 3000; public Server() throws IOException
{
server = new ServerSocket(nPort);
System.out.println("服务器启动");
} public void service() {
while (true) {
Socket socket=null;
try {
socket = server.accept();//等待客户连接 BufferedReader br = getReader(socket);
PrintWriter pw = getWriter(socket); System.out.println("New Connection accepted"
+ socket.getInetAddress() + socket.getPort()); String message = null; while ((message = br.readLine()) != null) {
System.out.println(message); pw.println(message); if (message.equals("exit"))
break;
} } catch (IOException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
} finally {
try {
if(socket!=null)
socket.close();
} catch (IOException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
}
} private BufferedReader getReader(Socket socket) throws IOException {
InputStream socketIn = socket.getInputStream();
return new BufferedReader(new InputStreamReader(socketIn));
} private PrintWriter getWriter(Socket socket) throws IOException {
OutputStream socketOut = socket.getOutputStream();
return new PrintWriter(socketOut);
}
public static void main(String args[]) throws IOException
{
new Server().service();
}
}//客户机程序:
package net;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.io.Writer;
import java.net.Socket;
import java.net.UnknownHostException;public class Client { /**
* @param args
*/
private int nPort=3000;
private String host="localhost";
private Socket socket=null;
public Client() throws UnknownHostException, IOException
{
socket=new Socket(host,nPort);
System.out.println("客户端启动");
}
public static void main(String[] args) throws UnknownHostException, IOException
{
new Client().talk();
} public void talk()
{
try {
BufferedReader br=getReader(socket);
PrintWriter pw=getWriter(socket);
BufferedReader localReader=new BufferedReader(new InputStreamReader(System.in));
String msg=null;
while((msg=localReader.readLine())!=null)
{
msg=localReader.readLine();
pw.println(msg);
System.out.println(br.readLine());
if(msg.equals("bye"))
break;
}
} catch (IOException e) {
e.printStackTrace();
}
finally
{
try {
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
private PrintWriter getWriter(Socket socket) throws IOException {
OutputStream socketOut=socket.getOutputStream();
return new PrintWriter(socketOut,true);
}
private BufferedReader getReader(Socket socket) throws IOException {
InputStream SocketIn=socket.getInputStream();
return new BufferedReader(new InputStreamReader(SocketIn));
}}
产生的问题是客户机向服务器发送一条信息后,服务器受到信息,但是就死“机”了,哪位大侠指点下。。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货