TCP 实例
来源:互联网 发布:阿里云 招聘 安全 编辑:程序博客网 时间:2024/06/15 08:43
1、TCP服务端
package com.example;import java.io.OutputStream;import java.net.ServerSocket;import java.net.Socket;public class MyTcpServer { public static void main(String [] args) throws Exception{ new TcpServer().listen();//创建TCPServer对象,并调用kisten()方法 }}//TCP服务端class TcpServer{ private static final int PORT=7788;//定义一个端口 public void listen() throws Exception{ //定义一个listen方法,抛出异常 ServerSocket serverSocket=new ServerSocket(PORT);//创建ServerSocket对象 Socket client=serverSocket.accept();//调用ServerSocket的accept()方法接受数据 OutputStream os=client.getOutputStream(); //获取客户端的输出流 System.out.println("开始与客户端交互数据"); os.write(("Hello world").getBytes()); Thread.sleep(5000); //模拟执行其他功能占用时间 System.out.println("结束与客户端数据交互"); os.close(); client.close(); }}
2、TCP 客户端
package com.example;import java.io.InputStream;import java.net.InetAddress;import java.net.Socket;public class MyTcpClient { public static void main(String [] args) throws Exception{ new TcpClient().connect(); }}class TcpClient{ private static final int PORT = 7788; //服务端的端口号 public void connect () throws Exception{ //创建一个socket并链接到给出地址和端口号的计算机 Socket client=new Socket(InetAddress.getLocalHost(),PORT); InputStream is=client.getInputStream(); //得到接收数据流 byte [] buf=new byte[1024];//定义1924个字节数组的缓冲区 int len=is.read(buf);//将数据读到缓冲区 System.out.println(new String(buf,0,len)); //将缓冲区中的数据输出 client.close(); //关闭socket对象,释放资源 }}
3、多线程tcpserver
package com.example;import java.io.OutputStream;import java.net.ServerSocket;import java.net.Socket;public class MyTcpThread { public static void main(String [] args) throws Exception{ new TcpServer().listen();//创建TcpServer对象,并调用listen()方法 }}//TCp服务端class TcpServer{ private static final int PORT=7788; //定义一个静态端口号 public void listen() throws Exception{ //创建socket对象,监听指定的端口 ServerSocket serverSocket=new ServerSocket(PORT); //使用while循环不停的接收客户端的发送请求 while(true){ //调用ServerSocket的accept()方法与客户建立链接 final Socket client=serverSocket.accept(); //下面的代码用于开创一个新的线程 new Thread(){ public void run(){ OutputStream os;//定义一个输出流对象 try{ os=client.getOutputStream();//获取客户端的输出流 System.out.println("开始与客户端交互数据"); os.write(("Hello Word").getBytes()); Thread.sleep(5000); //线程休眠 System.out.println("结束与客户端交互"); os.close(); //关闭输出流 client.close(); //关闭socket 对象 }catch(Exception e){ e.printStackTrace(); } } }.start(); } }}
参考文档:
Java基础入门 传智博客高教产品研发部
本人郑重声明,本博客所著文章、图片版权归权利人持有,本博只做学习交流分享所用,不做任何商业用途。访问者可將本博提供的內容或服务用于个人学习、研究或欣赏,不得用于商业使用。同時,访问者应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人的合法权利;如果用于商业用途,须征得相关权利人的书面授权。若以上文章、图片的原作者不愿意在此展示內容,请及时通知在下,將及时予以刪除。
阅读全文
0 0
- TCP 实例
- TCP/IP 程序实例
- tcp 数据传输实例测试
- Tcp异步通讯实例
- tcp协议 编程实例
- socket TCP通信实例
- java tcp socket实例
- linux TCP socket 实例
- Linux TCP/IP 实例
- 【黑马程序员】TCP实例
- C++ 简单TCP实例
- Tcp Socket编程实例
- TCP网络编程【实例】
- Java TCP 简单实例
- tcp udp 实例
- TCP的理解实例
- socket编程实例TCP
- java tcp数据传输实例
- C++内存管理之泄露检查
- Qt for Mac点击dock事件处理
- 叉乘分配律的几何证明
- Cloudera 安装parcel hang的问题
- argparse
- TCP 实例
- PHP 实现验证码
- MySQL 学习笔记本2——SQL 语句
- Go并发编程之协程
- ENVI教程:InSAR技术,相位解缠
- Python批量导入图片生成能治疗颈椎病的HTML5版课件
- hibernate学习教程一相关配置
- Keepalived+LVS
- Object类的哪些方法?