获取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. GO学习笔记 - 没有参数的 return 语句返回各个返回变量的当前值,这种用法被称作“裸”返回。

    Go 的返回值可以被命名,并且就像在函数体开头声明的变量那样使用. 返回值的名称应当具有一定的意义,可以作为文档使用. 没有参数的 return 语句返回各个返回变量的当前值.这种用法被称作“裸”返回 ...

  2. J - Judge(快速幂)(同余定理)

    J - Judge   Time Limit:1000MS     Memory Limit:131072KB     64bit IO Format:%lld & %llu Submit S ...

  3. 【ocp-12c】最新Oracle OCP-071考试题库(37题)

    19.choose the best answer View the Exhibit and examine the structure of the PROMOTIONS table. Evalua ...

  4. java实际项目中interface和abstract interface 区别

    参考:https://zhidao.baidu.com/question/424485344260391052.html 这2种有什么区别,根据实际项目经验 帮我解答下 谢谢啊~~~~~~~~~问题补 ...

  5. sonarLint和sonarQube

    在线安装和离线装sonarLint https://blog.csdn.net/limm33/article/details/51166840 下载指定版本的sonarLint https://bin ...

  6. Python数据采集处理分析挖掘可视化应用实例

    距离上一次发Python的技术贴已经过去两年了,这两年大法初成,并在知乎谢了相关技术专栏.现在搬运如下,均为原创,转载需注明出处哦! https://zhuanlan.zhihu.com/p/2957 ...

  7. rpm小结

    包括安装.卸载.升级.查询.校验.数据库维护     一. 安装: 常用方法:rpm -ivh 包名 ,其中“i”表示安装, "v"表示显示安装过程,“h"表示以#显示程 ...

  8. 哈工大ComingX-创新工场俱乐部正式成立

    当我把这两个Logo放在一起的时候,我有一种感觉,这种感觉同样存在于ComingX队员的心中.大学我们走到了一起,非你我所预料,却又如此自然.在感恩节的零点,我迫不及待地告诉各位ComingX队员和关 ...

  9. golang使用etcd实现分布式锁

    package main import ( "context" "fmt" "time" "go.etcd.io/etcd/cli ...

  10. initializer_list

    initializer_list是一种模板类型,定义initializer_list对象是,必须说明列表中所含元素的类型: initializer_list<Type> lst{a, b, ...