(53)Java学习笔记——网络编程 / TCP协议
来源:互联网 发布:任天堂vb算vr吗 编辑:程序博客网 时间:2024/05/23 19:14
TCP协议
TCP协议发送数据
* A / 创建发送端的Socket对象,这一部如果成狗,就说明连接已经建立成功
* B / 获取输出流,写数据
* C / 释放资源
创建发送端对象用到的方法:
Socket(InetAddress address, int port)
// 创建一个流套接字并将其连接到指定 IP 地址的指定端口号。
Socket(String host, int port) //创建一个流套接字并将其连接到指定主机上的指定端口号。
获取输出流的方法:
public OutputStreamgetOutputStream() //返回此套接字的输出流。
发送端代码范例:
package cn.itcast_01;import java.io.IOException;import java.io.OutputStream;import java.net.Socket;/* * TCP协议发送数据 * A / 创建发送端的Socket对象,这一部如果成功,就说明连接已经建立成功 * B / 获取输出流,写数据 * C / 释放资源 */public class ClientDemo {public static void main(String[] args) throws IOException, IOException {//创建发送端对象//Socket(InetAddress address, int port) // 创建一个流套接字并将其连接到指定 IP 地址的指定端口号。//Socket(String host, int port) //创建一个流套接字并将其连接到指定主机上的指定端口号。//Socket s = new Socket(InetAddress.getByName("192.168.0.8"),8888);Socket s = new Socket("192.168.0.8",8888);//获取输出流,写数据//public OutputStream getOutputStream()OutputStream os = s.getOutputStream();os.write("hello,tcp.我来了".getBytes());//释放资源s.close();}}TCP协议接收数据
ServerSocket(int port) //创建绑定到特定端口的服务器套接字。
publicSocketaccept() //
TCP接收端代码
package cn.itcast_01;import java.io.IOException;import java.io.InputStream;import java.net.ServerSocket;import java.net.Socket;/* * TCP协议接收数据 * A / 创建接收端的Socket对象 * B / 监听客户端连接,返回一个对应的Socket对象 * C / 获取输入流,读取数据显示在控制台 * D / 释放资源 */public class ServerDemo {public static void main(String[] args) throws IOException {//创建接收端的Socket对象//ServerSocket(int port) //创建绑定到特定端口的服务器套接字。ServerSocket ss = new ServerSocket(8888);//监听客户端连接,返回一个对应的Socket对象//public Socket accept() //Socket s = ss.accept();//阻塞式方法//获取输入流,读取数据显示在控制台InputStream is = s.getInputStream();byte[] bys = new byte[1024];int len = is.read(bys);String str = new String(bys,0,len);//获取发送方IP地址String ip = s.getInetAddress().getHostAddress();System.out.println(ip+":"+str);//释放资源s.close();}}
范例01:服务器给客户端发回一个反馈
客户端:
package cn.itcast_01;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.Socket;/* * TCP协议发送数据 * A / 创建发送端的Socket对象,这一部如果成功,就说明连接已经建立成功 * B / 获取输出流,写数据 * C / 释放资源 */public class ClientDemo {public static void main(String[] args) throws IOException, IOException {//创建发送端对象//Socket(InetAddress address, int port) // 创建一个流套接字并将其连接到指定 IP 地址的指定端口号。//Socket(String host, int port) //创建一个流套接字并将其连接到指定主机上的指定端口号。//Socket s = new Socket(InetAddress.getByName("192.168.0.8"),8888);Socket s = new Socket("192.168.0.8",8888);//获取输出流,写数据//public OutputStream getOutputStream()OutputStream os = s.getOutputStream();os.write("今天风很大,不要出门!".getBytes());//获取输入流InputStream is = s.getInputStream();byte[] bys = new byte[1024];int len = is.read(bys);String client = new String(bys,0,len);System.out.println("client:"+client);//释放资源s.close();}}
服务器端:
package cn.itcast_01;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.ServerSocket;import java.net.Socket;/* * TCP协议接收数据 * A / 创建接收端的Socket对象 * B / 监听客户端连接,返回一个对应的Socket对象 * C / 获取输入流,读取数据显示在控制台 * D / 释放资源 */public class ServerDemo {public static void main(String[] args) throws IOException {//创建接收端的Socket对象//ServerSocket(int port) //创建绑定到特定端口的服务器套接字。ServerSocket ss = new ServerSocket(8888);//监听客户端连接,返回一个对应的Socket对象//public Socket accept() //Socket s = ss.accept();//阻塞式方法//获取输入流,读取数据显示在控制台InputStream is = s.getInputStream();byte[] bys = new byte[1024];int len = is.read(bys);String server = new String(bys,0,len);System.out.println("server:"+server);//获取输出流OutputStream os = s.getOutputStream();os.write("数据已收到".getBytes());//释放资源s.close();}}范例02:客户端键盘录入,服务器写到文本
客户端:
package cn.itcast_02;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.net.Socket;/* * 客户端 */public class ClientDemo {public static void main(String[] args) throws IOException {//创建客户端Socket对象Socket s = new Socket("192.168.0.8",23456);//封装键盘录入BufferedReader br = new BufferedReader(new InputStreamReader(System.in));//封装通道内数据BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));String line = null;while((line = br.readLine())!=null){if("over".equals(line)){break;}bw.write(line);bw.newLine();bw.flush();}//关闭s.close();}}服务端:
package cn.itcast_02;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileWriter;import java.io.IOException;import java.io.InputStreamReader;import java.net.ServerSocket;import java.net.Socket;/* * 服务器 */public class ServerDemo {public static void main(String[] args) throws IOException {//创建服务器Socket对象ServerSocket ss = new ServerSocket(23456);//监听客户端连接Socket s = ss.accept();//封装通道内数据BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));//封装文本文件BufferedWriter bw = new BufferedWriter(new FileWriter("a.txt"));String line = null;while((line = br.readLine())!=null){bw.write(line);bw.newLine();bw.flush();}bw.close();s.close();}}
0 0
- (53)Java学习笔记——网络编程 / TCP协议
- (52)Java学习笔记——网络编程 / UDP协议
- 【JavaSE学习笔记】网络编程_UDP协议,TCP协议
- Java学习—网络编程(TCP)
- java Socket编程学习笔记 01——基于TCP协议的Socket编程
- 基于TCP协议的网络编程学习笔记(1)
- 网络编程学习笔记2(TCP/UDP协议)
- android开发笔记之网络编程—使用TCP协议和URL进行网络编程
- java网络编程学习笔记之一(TCP/IP协议与UDP协议的区别和认识)
- 笔记,TCP协议socket网络编程
- 代码笔记 | TCP网络协议编程实现
- Java网络编程笔记(TCP)
- 网络编程之TCP协议学习
- Java中网络编程之TCP协议
- 【TCP/IP协议】java SOCKET网络编程
- java中网络编程TCP协议
- Java网络编程UDP与TCP协议
- java网络编程之UDP、TCP协议
- Microsoft Visual C++ 9.0 is required Unable to find vcvarsall.bat
- bandcamp外推软件
- 背包之01背包、完全背包、多重背包详解
- Java拦截器
- 数据链路层的负载均衡(Bonding)
- (53)Java学习笔记——网络编程 / TCP协议
- 一种拦截AJAX数据的方法
- 无人机项目的打算
- 学习杂记
- spark学习
- 更新展示互动sdk后,报java.lang.UnsatisfiedLinkError: No implementation found for void错误
- 线程函数
- Hbuider hybrid app 开发优化指南
- 随机森林、GBDT和逻辑回归理解与对比