[javaSE] 网络编程(浏览器客户端-自定义服务端)
2023-02-18 15:47:14 时间
获取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);
相关文章
- 【架构师(第二十五篇)】编辑器开发之属性编辑区域表单渲染
- 【架构师(第二十六篇)】编辑器开发之属性编辑同步渲染
- 2021年度“CCF-腾讯犀牛鸟基金”发布结题评优结果
- 【架构师(第二十七篇)】前端单元测试框架 Jest 基础知识入门
- 太空噗|重燃太空热潮!与噗噗星人一同探索星海浪漫
- 算法工程师深度解构ChatGPT技术
- 【架构师(第二十八篇)】 测试工具 Vue-Test-Utils 基础语法
- 【架构师(第二十九篇)】Vue-Test-Utils 触发事件和异步请求
- 【架构师(第三十篇)】Vue-Test-Utils 全局组件和第三方库 vuex | vue-router
- 【架构师(第三十一篇)】前端测试之 TDD 的开发方式
- 【架构师(第三十二篇)】 通用上传组件开发及测试用例
- 【架构师(第三十三篇)】 Vue 中的实例及本地图片预览
- 【架构师(第三十四篇)】 业务组件库开发之 vue3 的插件系统
- 【架构师(第三十五篇)】 业务组件库开发之使用 Rollup 进行打包
- 【架构师(第三十六篇)】 业务组件库开发之发布到 NPM
- 【架构师(第四十二篇)】 服务端开发之常用的登录鉴权方式
- 【架构师(第四十三篇)】 服务端开发之单元测试和接口测试
- 【架构师(第四十四篇)】 服务端开发之 pm2 和 nginx 介绍
- 【架构师(第四十六篇)】 服务端开发之安装 Docker
- 【架构师(第四十七篇)】 服务端开发之认识 Docker