【Java学习笔记】TCP客户端/服务器端

简介:

客户端:

import java.net.Socket; 
import java.net.InetAddress; 
import java.net.UnknownHostException; 
import java.io.OutputStream; 
import java.io.BufferedReader; 
import java.io.InputStream; 
import java.io.InputStreamReader; 
import java.io.PrintWriter; 
import java.io.IOException; 
public class TcpClient { 
    public static void main(String[] args) throws IOException { 
        try { 
            byte a[] = { 127,0,0,1 }; 
            InetAddress address = InetAddress.getByAddress(a); 
            Socket socket = new Socket(address,9876); 
            OutputStream os = socket.getOutputStream(); 
            PrintWriter out = new PrintWriter(os,true); 
            InputStream is = socket.getInputStream(); 
            InputStreamReader isr = new InputStreamReader(is); 
            BufferedReader in = new BufferedReader(isr); 
            String line; 
            line = "A line sent by the client"; 
            out.println(line); 
            line = in.readLine(); 
            System.out.println("client got: " + line); 
            out.close(); 
            in.close(); 
            socket.close(); 
        } catch (UnknownHostException e) { 
            System.out.println(e); 
        } catch (IOException e) { 
            System.out.println(e); 
        } 
    } 
}

服务器端:

import java.net.ServerSocket; 
import java.net.Socket; 
import java.io.BufferedReader; 
import java.io.InputStream; 
import java.io.InputStreamReader; 
import java.io.IOException; 
import java.io.OutputStream; 
import java.io.PrintWriter; 
public class TcpServer { 
    public static void main(String[] args) { 
        try { 
            ServerSocket serverSocket = new ServerSocket(9876); 
            Socket socket = serverSocket.accept(); 
/*和Client一样了*/ 
            InputStream is = socket.getInputStream(); 
            InputStreamReader isr = new InputStreamReader(is); 
            BufferedReader in = new BufferedReader(isr); 
            OutputStream os = socket.getOutputStream(); 
            PrintWriter out = new PrintWriter(os,true); 
            String line; 
            while((line = in.readLine()) != null) { 
                 System.out.println("server got: " + line); 
                 line = "A line sent by the server"; 
                 out.println(line); 
            } 
            out.close(); 
            in.close(); 
            socket.close(); 
            serverSocket.close(); 
        } catch (IOException e) { 
            System.out.println(e); 
            System.exit(1); 
        } 
    } 
}

 




本文转自gnuhpc博客园博客,原文链接:http://www.cnblogs.com/gnuhpc/archive/2012/12/17/2822297.html,如需转载请自行联系原作者

相关文章
|
2月前
|
Java
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
84 9
|
11天前
|
缓存 网络协议 Java
【JavaEE】——TCP回显服务器(万字长文超详细)
ServerSocket类,Socket类,PrintWriter缓冲区问题,Socket文件释放问题,多线程问题
|
3月前
|
Python
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
使用Python的socket库实现客户端到服务器端的图片传输,包括客户端和服务器端的代码实现,以及传输结果的展示。
182 3
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
|
3月前
|
JSON 数据格式 Python
Socket学习笔记(一):python通过socket实现客户端到服务器端的文件传输
本文介绍了如何使用Python的socket模块实现客户端到服务器端的文件传输,包括客户端发送文件信息和内容,服务器端接收并保存文件的完整过程。
200 1
Socket学习笔记(一):python通过socket实现客户端到服务器端的文件传输
|
2月前
|
存储 Java API
Java实现导出多个excel表打包到zip文件中,供客户端另存为窗口下载
Java实现导出多个excel表打包到zip文件中,供客户端另存为窗口下载
90 4
|
3月前
|
存储 弹性计算 算法
前端大模型应用笔记(四):如何在资源受限例如1核和1G内存的端侧或ECS上运行一个合适的向量存储库及如何优化
本文探讨了在资源受限的嵌入式设备(如1核处理器和1GB内存)上实现高效向量存储和检索的方法,旨在支持端侧大模型应用。文章分析了Annoy、HNSWLib、NMSLib、FLANN、VP-Trees和Lshbox等向量存储库的特点与适用场景,推荐Annoy作为多数情况下的首选方案,并提出了数据预处理、索引优化、查询优化等策略以提升性能。通过这些方法,即使在资源受限的环境中也能实现高效的向量检索。
|
3月前
|
运维 Java Linux
【运维基础知识】Linux服务器下手写启停Java程序脚本start.sh stop.sh及详细说明
### 启动Java程序脚本 `start.sh` 此脚本用于启动一个Java程序,设置JVM字符集为GBK,最大堆内存为3000M,并将程序的日志输出到`output.log`文件中,同时在后台运行。 ### 停止Java程序脚本 `stop.sh` 此脚本用于停止指定名称的服务(如`QuoteServer`),通过查找并终止该服务的Java进程,输出操作结果以确认是否成功。
88 1
|
3月前
|
Python
Flask学习笔记(二):基于Flask框架上传图片到服务器端并原名保存
关于如何使用Flask框架上传图片到服务器端并以其原名保存的教程。
102 1
|
3月前
|
Python
Flask学习笔记(三):基于Flask框架上传特征值(相关数据)到服务器端并保存为txt文件
这篇博客文章是关于如何使用Flask框架上传特征值数据到服务器端,并将其保存为txt文件的教程。
39 0
Flask学习笔记(三):基于Flask框架上传特征值(相关数据)到服务器端并保存为txt文件
|
3月前
|
分布式计算 资源调度 Hadoop
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
103 4