一、socket简单实践

最近在捡回JAVA基础。手头有个项目需要从服务器取下文件,对于网络编程这块已是十分陌生,做些简单的练习熟悉一下。

下面例子是在本地模拟客户端请求连接服务端,服务端发送连接成功信息。

服务端代码:

 1 package com.socket;
 2 
 3 import java.io.DataOutputStream;
 4 import java.io.IOException;
 5 import java.io.OutputStream;
 6 import java.net.ServerSocket;
 7 import java.net.Socket;
 8 import java.net.SocketTimeoutException;
 9 
10 public class SimpleServer extends Thread {
11     private ServerSocket serverSocket;
12     int port = 5555;
13 
14     public void run() {
15         while (true) {
16             try {
17                 System.out.println("waiting for prot "
18                         + serverSocket.getLocalPort());
19                 Socket socket = serverSocket.accept();
20                 System.out.println("connect to "
21                         + socket.getRemoteSocketAddress());
22                 OutputStream outputStream = socket.getOutputStream();
23                 DataOutputStream out = new DataOutputStream(outputStream);
24                 out.writeUTF("welcome to connect server");
25                 socket.close();
26             } catch (SocketTimeoutException e) {
27                 System.out.println("time out!");
28                 break;
29             } catch (IOException e) {
30                 // TODO Auto-generated catch block
31                 e.printStackTrace();
32             }
33         }
34     }
35 
36     public static void main(String[] args) throws IOException {
37         SimpleServer simpleServer = new SimpleServer();
38         simpleServer.serverSocket = new ServerSocket(simpleServer.port);
39         simpleServer.serverSocket.setSoTimeout(10000);
40         simpleServer.start();
41     }
42 
43 }

客户端代码:

 1 package com.socket;
 2 
 3 import java.io.DataInputStream;
 4 import java.io.IOException;
 5 import java.io.InputStream;
 6 import java.net.Socket;
 7 import java.net.UnknownHostException;
 8 
 9 public class Client {
10     private String IP = "127.0.0.1";
11     private int prot = 5555;
12     private Socket socket;
13     
14     public void connect() throws UnknownHostException, IOException{
15         System.out.println("request "+IP+":"+prot);
16         socket = new Socket(IP,prot);
17         System.out.println("connect to "+socket.getRemoteSocketAddress());
18         InputStream inputStream = socket.getInputStream();
19         DataInputStream in = new DataInputStream(inputStream);
20         System.out.println("from Server : "+in.readUTF());
21         socket.close();
22     }
23     
24     public static void main(String[] args) throws UnknownHostException, IOException {
25         Client client = new Client();
26         client.connect();
27               
28     }
29         
30 }


运行结果:
1.运行服务端,显示如下:

2.运行客户端,显示如下,最后一句是从服务端获取的

3.服务端显示如下:



posted on 2016-07-12 11:37  小小小小小白  阅读(148)  评论(0)    收藏  举报

导航