照著教程視頻寫的,但是運行服務器類的時候報出這個例外,ip地址沒錯,不知道為什么,虛心請教
package morepeople;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;
public class testServer {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
ServerSocket server = new ServerSocket(9999);
boolean flag = true;
while (flag) {
Socket socket = server.accept();
MessageHander mh = new MessageHander(socket);
mh.start();
}
server.close();
}
}
class MessageHander extends Thread {
private Socket socket;
public MessageHander(Socket socket) {
super();
this.socket = socket;
}
@Override
public void run() {
try {
InputStream in = socket.getInputStream();
InputStreamReader isr = new InputStreamReader(in);
BufferedReader br = new BufferedReader(isr);
OutputStream out = socket.getOutputStream();
PrintStream ps = new PrintStream(out);
String word;
while ((word = br.readLine()) != null) {
if ("bye".equals(word)) {
break;
}
StringBuilder sb = new StringBuilder(word);
sb.reverse();
ps.println(sb.toString());
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
socket.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
package morepeople;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintStream;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Scanner;
public class testClient {
public static void main(String[] args) throws UnknownHostException, IOException {
// TODO Auto-generated method stub
Socket socket = new Socket("192.168.1.119", 9999);
OutputStream out = socket.getOutputStream();
PrintStream ps = new PrintStream(out);
InputStream is = socket.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
Scanner sc = new Scanner(System.in);
while (true) {
System.out.println("請輸入詞語:");
String word = sc.next();
ps.println(word);
if ("bye".equals(word)) {
break;
}
String result = br.readLine();
System.out.println("從服務器回傳的結果:" + result);
}
is.close();
socket.close();
}
}
例外
Exception in thread "main" java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at morepeople.testClient.main(testClient.java:16)
uj5u.com熱心網友回復:
如果testServer的main方法在你自己電腦上啟動的,那么testClient方法中的socket初始化要修改下ip引數,像下面這樣
Socket socket = new Socket("localhost", 9999);
uj5u.com熱心網友回復:
這個例外除了IP地址有錯,還有可能是你的服務器端的程式沒有正常跑起來。uj5u.com熱心網友回復:
這種情況,基本上是資料庫服務器的TCP連接不上,還沒有到驗證身份的那一步,比如服務器沒有開機,資料庫服務沒有啟動,埠被防火墻擋住 等uj5u.com熱心網友回復:
ping ip 看通不通?telnet ip 埠 看通不通?先確定是不是網路問題uj5u.com熱心網友回復:
對uj5u.com熱心網友回復:
1轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/19295.html
標籤:Java SE
