Java实现的基于socket的一次通信

服务器端代码:

 1 import java.io.BufferedReader;
 2 import java.io.InputStreamReader;
 3 import java.net.ServerSocket;
 4 import java.net.Socket;
 5    
 6 public class Server {
 7     public static void main(String[] args) {
 8         ServerSocket server;
 9         try{
10             server = new ServerSocket(1111);
11             Socket socket = server.accept();
12                
13             BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream(),"UTF-8"));
14             System.out.println(br.readLine());
15             br.close();
16             socket.close();
17             server.close();
18         }catch (Exception e) {
19             System.out.println(e);
20         }
21     }
22 }

客户端代码:

 1 import java.io.BufferedReader;
 2 import java.io.InputStreamReader;
 3 import java.io.PrintStream;
 4 import java.net.Socket;
 5   
 6 public class Client {
 7     public static void main(String[] args) {
 8         Socket socket;
 9         PrintStream ps;
10         try {
11             socket = new Socket("127.0.0.1",1111);
12             System.out.println("connect successfully...");
13             System.out.println("Please input some WORDS to server:");
14             BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
15             String content = null;
16             try {
17                 content = br.readLine();
18             } catch (Exception e) {
19                   
20             }
21             ps = new PrintStream(socket.getOutputStream(),true,"UTF-8");
22             ps.print(content);
23               
24             socket.close();
25         } catch (Exception e) {
26             System.out.println(e);
27         }
28     }
29 }

测试发现目前还是存在乱码问题。比如传过去的中文标点符号不能正确的显示...

posted @ 2013-03-21 21:54  wangxiang87yz  阅读(203)  评论(0编辑  收藏  举报