zoukankan      html  css  js  c++  java
  • socket编程代码示范 简单飞扬

    //转自网络http://www.zaoxue.com/article/tech-71025.htm

    //实现Client端功能的ClientApp.java原文件:


    import java.io.*;
    import java.net.Socket;

    public class ClientApp {
        public static void main(String args[]) {
            try {
                // 创建通讯并且和主机Rock连接
                Socket socket = new Socket("10.5.7.1", 8018);
                // 打开这个Socket的输入/输出流
                OutputStream os = socket.getOutputStream();
                DataInputStream is = new DataInputStream(socket.getInputStream());

                int c;
                boolean flag = true;

                String responseline;

                while (flag) {
                    // 从标准输入输出接受字符并且写入系统
                    while ((c = System.in.read()) != -1) {
                        os.write((byte) c);
                        if (c == '"n') {
                            os.flush();
                            // 将程序阻塞,直到回答信息被收到后将他们在标准输出上显示出来
                            responseline = is.readLine();
                            System.out.println("Message is:" + responseline);
                        }
                    }
                }
                
                //关闭所有流    
                os.close();
                is.close();
                socket.close();

            } catch (Exception e) {
                System.out.println("Exception :" + e.getMessage());
            }
        }
    }


    //实现Server端功能的ServerApp.java原文件:

    import java.net.*;
    import java.io.*;

    public class ServerApp {
        public static void main(String args[]) {
            try {
                boolean flag = true;
                Socket clientSocket = null;
                String inputLine;
                int c;

                ServerSocket socket = new ServerSocket(8018);
                System.out.println("Server listen on:" + socket.getLocalPort());

                while (flag) {
                    clientSocket = socket.accept();
                    DataInputStream is = new DataInputStream(
                            new BufferedInputStream(clientSocket.getInputStream()));
                    OutputStream os = clientSocket.getOutputStream();

                    while ((inputLine = is.readLine()) != null) {
                        // 当客户端输入stop的时候服务器程序运行终止!
                        if (inputLine.equals("stop")) {
                            flag = false;
                            break;
                        } else {
                            System.out.println(inputLine);

                            while ((c = System.in.read()) != -1) {
                                os.write((byte) c);
                                if (c == '"n') {
                                    os.flush(); // 将信息发送到客户端
                                    break;
                                }
                            }
                        }
                    }
                    is.close();
                    os.close();
                    clientSocket.close();

                }
                socket.close();
            } catch (Exception e) {
                System.out.println("Exception :" + e.getMessage());
            }
        }
    }



  • 相关阅读:
    cocos代码研究(24)Widget子类PageView学习笔记
    cocos代码研究(23)Widget子类ScrollView学习笔记
    cocos代码研究(22)Widget子类Layout学习笔记
    JavaScript:学习笔记(5)——箭头函数=>以及实践
    顽石系列:CSS实现垂直居中的五种方法
    算法:红黑树
    Vue:实践学习笔记(3)——组件使用
    Java进阶学习:将文件上传到七牛云中
    LeetCode:下一个排列【31】
    Linux:Ubuntu下部署Web运行环境
  • 原文地址:https://www.cnblogs.com/jiandanfy/p/1060931.html
Copyright © 2011-2022 走看看