获取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. JavaWeb -cookie&session&application

    cookie&session&application总结 Cookie[key-value](不是内置对象必须new): 1. Cookie 是由服务端生成的,在发送给客户端保存 2. ...

  2. 红与黑(DFS)

    描述有一间长方形的房子,地上铺了红色.黑色两种颜色的正方形瓷砖.你站在其中一块黑色的瓷砖上,只能向相邻的黑色瓷砖移动.请写一个程序,计算你总共能够到达多少块黑色的瓷砖.输入包括多个数据集合.每个数据集 ...

  3. LOJ#3083. 「GXOI / GZOI2019」与或和(单调栈)

    题面 传送门 题解 按位考虑贡献,如果\(mp[i][j]\)这一位为\(1\)就设为\(1\)否则设为\(0\),对\(or\)的贡献就是全为\(1\)的子矩阵个数,对\(and\)的贡献就是总矩阵 ...

  4. 阿里云ros实例

    模板文件 { "ROSTemplateFormatVersion": "2015-09-01", "Parameters": { " ...

  5. windows文件名太长无法删除的解决办法

    安装nodejs 的模块hexo后,由于香重新安装,在删除的时候却提示文件名太长无法删除,dos命令.回收站各种都无法搞定,后来找到解决办法: 1.进入这些文件的所在目录的上层目录,右键这些文件的所在 ...

  6. Ambiguous mapping found. Cannot map 'XXXController' bean method

    springMVC报错,原因方法之间@RequestMapping()到了同一个地址,导致springmvc无法定位

  7. Set的总结

    Set最重要的操作是查找,为查找而设计.存入HashSet的元素必须定义hashCode(); Set不保存重复的元素,元素必须唯一.通过equals()方法一确保对象的唯一性. Set中最常被用于归 ...

  8. JavaBean简介及使用

    JavaBean简介及使用  望星空 https://blog.csdn.net/joywy/article/details/7773503   一.JavaBean简介 JavaBean是使用Jav ...

  9. Python基础部分的疑惑解析——运算符和数据类型(3)

    补充上一篇: #! /user/bin/env python   代码内声明这一个就可以用1.py类似的文件直接执行,但是要在linux内加权限, 不需要在前面加python 1.py执行了.文件可以 ...

  10. 2.CentOS6.5下的DNS主从区域传送配置

    接着<1.CentOS6.5下的基础DNS配置>来说,主从区域传送只能让从服务器来进行传送,不给任何人传送,我们看看上一章节<1.CentOS6.5下的基础DNS配置>是否可传 ...