TCP发送数据
TCP通信原理:TCP通信协议是一种可靠的网络协议,它在通信的两端各建立一个Socket对象,从而在通信的两端形成网络虚拟链路,一旦建立了虚拟的 网络链路,两端的程序就可以通过虚拟链路进行通信
Java对基于TCP协议的网络提供了良好的封装,使用Socket对象来代表两端的通信端口,并提供Socket产生IO流来进行网络通信 Java为客户端提供了Socket类,为服务器端提供了ServerSocket类
Socket类在java.net包下。该类是一个具体类,该类继承了Object类,该类实现了Closeable接口 该类实现客户端套接字,套接字是两台机器之间通信的端点
该类的常用构造方法是Socket(InetAddress address, int port) 创建流套接字并将其连接到指定IP地址处的指定端口号 该类的常用构造方法是Socket(String host, int port) 创建流套接字并将其连接到指定主机上的指定端口号
TCP发送数据的步骤,如下 1、创建客户端的Socket对象(Socket)
xxxxxxxxxx
Socket(String host, int port)
2、获取输出流,写数据、
xxxxxxxxxx
OutputStream getOutputStream()
3、释放资源
void close
TCP发送数据的练习
xxxxxxxxxx
package ch22;
import java.io.IOException;
import java.io.OutputStream;
import java.net.Inet4Address;
import java.net.Socket;
import java.net.UnknownHostException;
//如何运行,先运行"a_10_1测试"即接收数据端,再运行"a_9_1测试"即发送数据端
public class a_9_1测试 {
public static void main(String[] args) throws IOException {
//1、创建发送端的Socket对象(Socket)
//Socket(InetAddress address, int port) 创建流套接字并将其连接到指定IP地址处的指定端口号
//Socket s = new Socket(Inet4Address.getByName("10.99.20.3"),10101);
//上面和下面的效果是一样的
//1、创建发送端的Socket对象(Socket)
//Socket(String host, int port) 创建流套接字并将其连接到指定主机上的指定端口号
Socket s = new Socket("10.99.20.3",10101);
//2、用get获取OutputStream字节输出流,写数据
//getOutputStream() 返回此套接字的输出流
OutputStream os = s.getOutputStream();
//写数据,把数据写出去
os.write("hello,tcp,我来了".getBytes());
//3、释放资源
s.close();
//运行后发现控制台报错了,输出ConnectException连接异常。我们还需要写服务器的三次握手程序,下节课继续
}
}