希望看一下我在這個到底有什么問題 找一天了。。。
package come.lala;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static void main(String[] args) ?{
try {
ServerSocket serversocket=new ServerSocket(8888);
Socket socket=null;
int count=0;
//調(diào)用accept()方法 對指定端口進行偵查 等待客戶端輸入
System.out.println("***服務(wù)器等待開啟***");
while(true){
? ? ? ? socket=serversocket.accept();
? ? ? ? //創(chuàng)建一個新的線程?
? ? ServerThread serverThread=new ServerThread(socket);
? ? ? ? serverThread.start();
? ? ? ? ? ? count++;
? ? ? ? System.out.println("客戶端的數(shù)量為:"+count);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
? ?
}
package come.lala;
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.Socket;
import java.net.UnknownHostException;
public class Client {
public static void main(String[] args) throws Exception {
try {
Socket socket = new Socket("192.168.1.100", 8888);
OutputStream os=socket.getOutputStream();
PrintWriter pw=new PrintWriter(os);
pw.write("帳號:admin;密碼:123");
socket.shutdownOutput();
InputStream is=socket.getInputStream();
InputStreamReader isr =new InputStreamReader(is);
BufferedReader br=new BufferedReader(isr);
String a=null;
while((a=br.readLine())!=null){
System.out.println("我是客戶端,服務(wù)端說:"+a);
}
socket.shutdownInput();
pw.flush();
os.close();
br.close();isr.close();
is.close();
socket.close();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
package come.lala;
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.Socket;
public class ServerThread extends Thread {
? Socket socket=null;
?public ServerThread(Socket newSocket) {
this.socket=newSocket;
}
public void run (){
? ? InputStream is=null;
? ? InputStreamReader isr=null;
? ? BufferedReader br=null;
? ? OutputStream os=null;
? ? PrintWriter pw=null;
? ??
try {
is = socket.getInputStream();
isr =new InputStreamReader(is);
br=new BufferedReader(isr);
String s=null;
while((s=br.readLine())!=null){
System.out.println(s);
}
socket.shutdownInput();
os=socket.getOutputStream();
pw=new PrintWriter(os);
pw.write("歡迎您客戶端");
pw.flush();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
if(pw!=null)
? ?pw.close();
if(os!=null)
? ?os.close();
if(socket!=null)
? ?socket.close();
if(is!=null)
? ? ? ?is.close();
? ?if(br!=null)
? ? ? ?br.close();
? ?if(isr!=null)
? ?isr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
? }
}
2015-10-24
建議 trycatch了就不要有throws Exception,你的client端代碼更換一下。
然后把client端 改為Socket socket = new Socket("localhost",8888); ?別用IP地址
這樣試一下 ?可以就是這兩個問題 不可以 把報錯的內(nèi)容發(fā)出來