zoukankan      html  css  js  c++  java
  • [javaSE] 网络编程(浏览器客户端-自定义服务端)

     获取ServerSocket对象,new出来构造参数:int类型端口号

    调用ServerSocket对象的accept()方法,得到Socket对象

    获取PrintWriter对象,new出来,构造参数:OutputSream对象,true自动刷新

    调用PrintWriter对象的println()方法,打印文本,参数:String对象

    调用Socket对象的close()方法

    调用ServerSocket对象的close()方法

    import java.io.PrintWriter;
    import java.net.ServerSocket;
    import java.net.Socket;
    
    
    public class ServerSocketDemo {
    
        /**
         * @param args
         * @throws Exception 
         */
        public static void main(String[] args) throws Exception {
            ServerSocket ss=new ServerSocket(10002);
            System.out.println("正在监听10001...");
            Socket socket=ss.accept();
            PrintWriter pw=new PrintWriter(socket.getOutputStream(), true);
            pw.println("<h1>Hello ServerSocket</h1>");
            socket.close();
            ss.close();
        }
    
    } 

    windows系统有个远程登陆的工具telnet,默认没有开启,进入控制面板==>启用关闭windows功能里,勾选一下

    PHP版:

    调用socket_create()方法,创建socket对象,参数:AF_INETipv4协议),SOCK_STREAM(字节流),SOL_TCPTCP协议)

    调用socket_bind()方法,绑定socket,参数:socket对象,ip地址,端口

    调用socket_listen()方法,监听socket,参数:socket对象

    调用socket_accept()方法,接收资源,参数:socket对象

    调用socket_write()方法,打印信息,参数:资源,文本信息

    调用socket_close()方法,关闭socket,参数:socket对象

    <?php
    $socket=socket_create(AF_INET,SOCK_STREAM,SOL_TCP);
    socket_bind($socket,"127.0.0.1",10003);
    socket_listen($socket);
    $resource=socket_accept($socket);
    $msg="<h1>Hello PHP ServerSocket</h1>";
    write($resource,$msg,strlen($msg));
    socket_close($socket);

    client.php

    <?php
    header("Content-type:text/html;Charset=UTF-8");
    $socket = socket_create(AF_INET,SOCK_STREAM,SOL_TCP);  //创建一个socket
    socket_connect($socket,'127.0.0.1',10003);  //连接socket
    socket_write($socket,"2,ni hao,wo shi client1!");  //向socket中写入发送给服务器的数据
    $data = socket_read($socket,1024);  //读取socket中服务器回复的数据
    echo $data;  //将读取到的数据打印出来
    //socket_close($socket);
  • 相关阅读:
    是什么造成了数据库的卡顿
    机器学习笔记(六) ---- 支持向量机(SVM)
    机器学习笔记(五)---- 决策树
    了解 MongoDB 看这一篇就够了【华为云分享】
    王晶:华为云OCR文字识别服务技术实践、底层框架及应用场景 | AI ProCon 2019
    【HUAWEI Mate30】抽奖啦!华为IoT新福利上线!
    高性能Web动画和渲染原理系列(2)——渲染管线和CPU渲染
    【华为云社区】悟一下动态规划
    理解递归与动态规划
    Laravel 文件上传失败的问题 error 7
  • 原文地址:https://www.cnblogs.com/taoshihan/p/5529124.html
Copyright © 2011-2022 走看看