JAVA模拟客户机与服务器实现简易的TCP通讯
来源:互联网 发布:php extract函数 编辑:程序博客网 时间:2024/05/22 08:22
JAVA模拟客户机与服务器实现简易的TCP通讯
大致图解如下:
//客户机/*socket:此类实现客户端套接字(也可以就叫“套接字”)。套接字是两台机器间通信的端点。 Socket(InetAddress address, int port) :创建一个流套接字并将其连接到指定 IP 地址的指定端口号。*/import java.io.*;import java.net.*;public class TcpClient{ public static void main(String[] args){ Socket s; try { s = new Socket("127.0.0.1",80); OutputStream os = s.getOutputStream(); //输出流接受输出字节并将这些字节发送到某个接收器。 InputStream is = s.getInputStream(); //字节输入流 byte[] buf = new byte[100]; //字节型数组 System.out.println("给服务器发消息"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in));//输入流 String msg = br.readLine(); //readLine将其转换为字符后返回,读取一个文本行。 os.write(msg.getBytes()); //从指定的 byte 数组写入此输出流。 System.out.println("等待来自服务器的消息"); int len = is.read(buf); //从输入流中读取一定数量的字节,并将其存储在缓冲区数组 buf 中。返回len个字节数。 msg = new String(buf,0,len); //通过使用平台的默认字符集解码指定的 byte 子数组,构造一个新的 String。 System.out.println(msg); s.close(); //关闭此端点。 } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
//服务器/*ServerSocket此类实现服务器套接字。服务器套接字等待请求通过网络传入。它基于该请求执行某些操作,然后可能向请求者返回结果。 ServerSocket(int port):创建绑定到特定端口(端口号)的服务器套接字。*/import java.io.*;import java.net.*;public class TcpServer{ public static void main(String[] args){ ServerSocket ss; try { ss = new ServerSocket(80); System.out.println("waiting TcpClient connection."); Socket s = ss.accept(); //侦听并接受到此套接字的连接。此方法在连接传入之前一直阻塞。 System.out.println("TcpClient connection success."); InputStream is = s.getInputStream(); OutputStream os = s.getOutputStream(); byte[] buf = new byte[100]; System.out.println("等待来自客户端的消息"); int len = is.read(buf); String msg = new String(buf,0,len); System.out.println(msg); System.out.println("给客户端发消息"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); msg = br.readLine(); os.write(msg.getBytes()); s.close(); } catch (IOException e) { e.printStackTrace(); } }}
效果实现:
阅读全文
0 0
- JAVA模拟客户机与服务器实现简易的TCP通讯
- 基于Internet的Linux客户机/服务器系统通讯设计与实现
- java 网络客户机与服务器的交互
- TCP-Java-客户机/服务器应用程序例子
- 改造-TCP-Java-客户机/服务器应用程序-并发
- 一个简易TCP服务器的多种实现
- JAVA多进程服务器与客户机实现收发异步
- 简单的TCP服务器与客户端通讯
- 简单的客户机服务器投射模拟
- RFC868--时间协议客户机与服务器的实现
- RFC868--时间协议客户机与服务器的实现
- TCP客户机-服务器
- Java实现TCP通讯
- JAVA实现TCP通讯
- tcp通讯_模拟Tomcat服务器
- Java与flash的TCP通讯
- Java Socket编程Demo-基于TCP的单服务器多客户机群发/私聊系统
- Windows服务器与Linux客户机使用TCP协议进行数据传输
- js判断冒号,replace所有冒号
- 自定义realm进行授权
- JavaScript基础语法
- Android 源码解析Handler消息传递机制
- SQLAlchemy列类型和选项、关系选项
- JAVA模拟客户机与服务器实现简易的TCP通讯
- 初学java对一些基本概念的理解
- 好吧,CSS3 3D transform变换,不过如此!
- RxJava零基础入门(二)
- 如何将你的 MySQL 查询速度提升 300 倍
- 前端开发(兼容性)调试工具,类库
- JAVA基础知识
- 使用微信公众号模板消息发送(基于.NET开发)
- 进程通信之命名管道(FIFO)