Tcp Client与Server 基本原理

来源:互联网 发布:怎么看出论文数据造假 编辑:程序博客网 时间:2024/05/01 08:19

Client端:

package com.mth.tcp;import java.io.OutputStream;import java.net.Socket;/* * 需求:给服务端发送一个文本数据 *  *  *  * 客户端: * 通过查阅Socket对象 发现在该对象建立时 就可以去连接指定主机 * 因为tcp是面像连接的 所以在建立Socket服务时候 * 就要有服务端 并连接成功,形成通路后 在该通道进行数据传输。 *  * 步骤: 1.创建Socket服务,并指定要连接的主机和端口 * 2.为了发送数据 应该获取Socket 中的输出流 *     3.关闭Socket服务 * */public class TcpClient {public static void main(String[] args) throws Exception {Socket s = new Socket("127.0.0.1", 10000);OutputStream out = s.getOutputStream();out.write("Tcp ge men lai le".getBytes());s.close();}}
Server端:

package com.mth.tcp;import java.io.InputStream;import java.net.ServerSocket;import java.net.Socket;/* * 服务端 * 定义服务端接收数据 并打印在控制台上 * 步骤: * 1:建立服务端的socket服务 通过ServerSocket() * 2: 获取连接过来的客户端对象 通过ServerSocket的accept()方法 *    没有连接就会等。阻塞式方法 * 3:客户端如果发过来数据 ,那么服务端要使用对应的客户端对象。 *    并获得该客户端对象的读取流来读取发过来的数据 并打印在控制台 * 4:关闭服务端(可选的) * */public class TcpServer {public static void main(String[] args) throws Exception {ServerSocket ser = new ServerSocket(10000);//通过accept()方法得到客户端的对象Socket so = ser.accept();InputStream in = so.getInputStream();int a = 0;byte[] b = new byte[1024];while ((a = in.read(b)) != -1) {String s = new String(b, 0, a);System.out.println(s);//获取ipSystem.out.println(so.getInetAddress().getHostAddress());}//关闭客户端so.close();}}



0 0
原创粉丝点击