获取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_INET(ipv4协议),SOCK_STREAM(字节流),SOL_TCP(TCP协议)

调用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);

[javaSE] 网络编程(浏览器客户端-自定义服务端)的更多相关文章

  1. 网络版shell之网络编程练习篇--telnet服务端

    网络版shell之网络编程练习篇--telnet服务端   以前写过一个shell命令解释器,对与shell命令解释器的执行流程有了清晰的认识,这段时间学习网络编程,至于网络编程的细节以及知识点,已经 ...

  2. Socket网络编程(2)--服务端实现

    中秋了,首先祝大家中秋快乐,闲着无事在家整一个socket的聊天程序,有点仿QQ界面,就是瞎折腾,不知道最后是不是能将所有功能实现. 如果你对socket不了解,请看这篇文章:http://www.c ...

  3. SignalR 实现web浏览器客户端与服务端的推送功能

    SignalR 是一个集成的客户端与服务器库,基于浏览器的客户端和基于 ASP.NET 的服务器组件可以借助它来进行双向多步对话. 换句话说,该对话可不受限制地进行单个无状态请求/响应数据交换:它将继 ...

  4. UDP网络程序,客户端和服务端交互原理

    创建一个udp客户端程序的流程是简单,具体步骤如下: 创建客户端套接字 发送/接收数据 关闭套接字 UDP是面向无连接的通讯协议,UDP数据包括目的端口号和源端口号信息,由于通讯不需要连接,所以可以实 ...

  5. 网络编程基础_4.1TCP_服务端

    TCP_服务端 #include <stdio.h> // 1. 包含必要的头文件和库, 必须位于 windows之前 #include <WinSock2.h> #pragm ...

  6. [javaSE] 网络编程(TCP服务端客户端互访阻塞)

    客户端给服务端发送数据,服务端收到数据后,给客户端反馈数据 客户端: 获取Socket对象,new出来,构造参数:String的ip地址,int的端口号 调用Socket对象的getOutputStr ...

  7. 基于TCP的socket套接字的网络编程(客户端/服务端模式)

    于数据完整性要求较高的场合,就应采用TCP协议. IP网络层提供IP寻址和路由.因为在网络上数据可以经由多条线路到达目的地,网络层负责找出最佳的传输线路. IP地址与数据包: IP层就是把数据分组从一 ...

  8. c++ 网络编程(一)TCP/UDP windows/linux 下入门级socket通信 客户端与服务端交互代码

    原文作者:aircraft 原文地址:https://www.cnblogs.com/DOMLX/p/9601511.html c++ 网络编程(一)TCP/UDP  入门级客户端与服务端交互代码 网 ...

  9. java网络编程客户端与服务端原理以及用URL解析HTTP协议

    常见客户端与服务端 客户端: 浏览器:IE 服务端: 服务器:web服务器(Tomcat),存储服务器,数据库服务器. (注:会用到Tomact服务器,在webapps下有一个自己创建的目录myweb ...

随机推荐

  1. “全栈2019”Java多线程第十五章:当后台线程遇到finally

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...

  2. “全栈2019”Java第一百零三章:匿名内部类详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  3. [Objective-C语言教程]复合对象(33)

    在Objective-C中,可以在类集群中创建子类,该类集合定义了一个嵌入在其中的类. 这些类对象是复合对象.你可能想知道什么是类集群,下面首先了解什么是类集群. 1. 类集群 类集群是基础框架广泛使 ...

  4. AI 的下一个重大挑战:理解语言的细微差别

    简评:人类语言非常博大精妙,同一句话在不同的语境下,就有不同的含义.连人类有时候都不能辨别其中细微的差别,机器能吗?这就是人工智能的下一个巨大挑战:理解语言的细微差别.本文原作者是 Salesforc ...

  5. Android脚本打包

    最近项目中需要添加应用渠道,我使用的是友盟统计,对于不同渠道需要编译不同版本,对于开发者说编译一次,手动操作还是可以接受的,但是项目发布版本频率较高,而且渠道很多,这就是一个体力活,而且手动打包还比较 ...

  6. 10分钟教你用Python打造天气机器人+关键字自动回复+定时发送

    01 前言 Hello,各位小伙伴.自上次我们介绍了Python实现天气预报的功能以后,那个小程序还有诸多不完善的地方,今天,我们再次来完善一下我们的小程序.比如我们想给机器人发“天气”等关键字,它就 ...

  7. 实验二 输出“Hello Word!”,测试主方法的输入参数和心得体会

    实验二 一.输出“Hello World!” 1.首先打开eclipse,如下图所示. 2.选择一个工作空间,如下图所示. 3.接下来,点击[Java项目]创建一个Java项目,如下图所示. 4.然后 ...

  8. leetcode-374-Guess Number Higher or Lower(二分查找)

    题目描述: We are playing the Guess Game. The game is as follows: I pick a number from 1 to n. You have t ...

  9. 为阿里云域名配置免费SSL支持https加密访问简单教程

    阿里云之前有免费ssl入口申请,现在已经关闭了.那么现在怎么为自己的域名配置https呢? 首先打开阿里云域名控制台,如以下界面.(这里暂且用我的这个域名讲解吧)  如上图点击ssl证书,点击单域名免 ...

  10. 架构师养成记--16.disruptor并发框架中RingBuffer的使用

    很多时候我们只需要消息中间件这样的功能,那么直需要RinBuffer就可以了. 入口: import java.util.concurrent.Callable; import java.util.c ...