zoukankan      html  css  js  c++  java
  • Java 网络编程

    GreetingServer
    import java.io.DataInputStream;
    import java.io.DataOutputStream;
    import java.io.IOException;
    import java.net.ServerSocket;
    import java.net.Socket;
    import java.net.SocketTimeoutException;
    
    public class GreetingServer extends Thread {
        private ServerSocket serverSocket;
    
        public GreetingServer(int port) throws IOException {
            serverSocket = new ServerSocket(port);
            serverSocket.setSoTimeout(60000);
        }
    
        public void run() {
            while (true) {
                try {
                    System.out.println("Waiting for client on port " + serverSocket.getLocalPort() + "...");
                    Socket server = serverSocket.accept();
                    System.out.println("Just connected to " + server.getRemoteSocketAddress());
                    DataInputStream in = new DataInputStream(server.getInputStream());
                    System.out.println(in.readUTF());
                    DataOutputStream out = new DataOutputStream(server.getOutputStream());
                    out.writeUTF("Thank you for connecting to " + server.getLocalSocketAddress() + "
    Goodbye!");
                    server.close();
                } catch (SocketTimeoutException s) {
                    System.out.println("Socket timed out!");
                    break;
                } catch (IOException e) {
                    e.printStackTrace();
                    break;
                }
            }
        }
    
        public static void main(String[] args) {
            int port = Integer.parseInt(args[0]);
            try {
                Thread t = new GreetingServer(port);
                t.start();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    GreetingClient
    import java.io.*;
    import java.net.Socket;
    
    public class GreetingClient {
        public static void main(String[] args) {
            String serverName = args[0];
            int port = Integer.parseInt(args[1]);
            try {
                System.out.println("Connecting to " + serverName + " on port " + port);
                Socket client = new Socket(serverName, port);
                System.out.println("Just connected to " + client.getRemoteSocketAddress());
                OutputStream outToServer = client.getOutputStream();
                DataOutputStream out = new DataOutputStream(outToServer);
    
                out.writeUTF("Hello from " + client.getLocalSocketAddress());
                InputStream inFromServer = client.getInputStream();
                DataInputStream in = new DataInputStream(inFromServer);
                System.out.println("Server says " + in.readUTF());
                client.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
     
  • 相关阅读:
    Yii -format 数据格式化类的用法
    Yii CModel中rules验证规则(需要验证,有些有错误)
    yii rules 转自 安全者 » Yii rules常用规则 ,适用Yii2
    yii2 restfulapi moudules 模块下的接口
    SL410K 在Ubuntu禁用触摸板
    AngularJs遇到的小坑与技巧
    google chrome 32 升级变更找回user agent(google chrome lose user agent)
    感慨一下发展快速的前端开发
    Sublime key bindings使用
    ubuntu 12.04 搭建nginx + php + mysql +phpmyadmin
  • 原文地址:https://www.cnblogs.com/kikyoqiang/p/11419834.html
Copyright © 2011-2022 走看看