糾結了一天的JAVA簡單客戶端服務器Socket編程終於解決了


閑着寫了個簡單java的socket編程,無語了,這么簡單的程序都寫不出來了,代碼如下:

==================================================================================

Server(服務器端):

package remember;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class Server {
private ServerSocket ss;
private Socket socket;
private BufferedReader in;
private PrintWriter out;

public Server() {
try {
ss = new ServerSocket(33333);
System.out.println("========親,服務器已經啟動===========");
while (true) {
socket = ss.accept();
String RemoteIP = socket.getInetAddress().getHostName();
String RemotePort = "" + socket.getLocalPort();
System.out.println(RemoteIP+" "+ RemotePort);
out = new PrintWriter(socket.getOutputStream(), true);
out.print("消息已經收到了");
in = new BufferedReader(new InputStreamReader(socket
.getInputStream()));
String line=in.readLine();
System.out.print(line);
in.close();
out.close();
socket.close();
}
} catch (Exception e) {
e.printStackTrace();
System.out.println("wrong");
}
}

public static void main(String[] args) {
new Server();
}
}

Client(客戶端):

package remember;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;

public class Client {

private Socket socket;

private BufferedReader in;
private PrintWriter out; public Client() {

try {

System.out.println("Try to Connect to 127.0.0.1:33333"); socket = new Socket("127.0.0.1",33333);

System.out.println("The Server Connected!");

System.out.println("Please enter some Character:"); BufferedReader line = new BufferedReader(new InputStreamReader(System.in));

out = new PrintWriter(socket.getOutputStream(),true); out.print(line.readLine());

in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
System.out.println(in.readLine()); out.close(); in.close();

socket.close();

}catch(IOException e) { out.println("Wrong");

} }

public static void main(String[] args) {

new Client();


} }

5555555555555555,以前也這樣寫的,怎么忘了啊。研究半天總結如下:

----------------------------------------------------------------------------------------------------------------------------------

服務端的PrintWriter一定要寫成out.println,不能寫成out.print。

客戶端的PrintWriter可寫成out.println也可以寫成out.print(但如果寫成out.print就只能發數據接收不到數據了)。

哎呀,糾結了半天,終於寫好了。希望能幫到和我一樣的人,所以就分享下,本人原創。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM