Java Socket编程——TCP协议(一)

TCP传输

=Socket和ServerSocket

=建立客户端和服务器端

=建立连接后,通过Socket中的IO流进行数据的传输

=关闭Socket

=同样,客户端与服务器端是两个独立的应用程序

面向连接的一种开发,就是对方在才可以通讯,通过3次握手确定连接。

客户端代码:

public class TCPClient {

	public static void main(String[] args) throws  IOException {
		/*
		 * TCP客户端的建立
		 * 思路:
		 * 1、建立tcp客户端服务
		 * 	1.1因为是面向连接,必须有连接才可以通信
		 * 	1.2在创建客户端时,必须明确目的地址和端口
		 * 2、一旦连接建立,就有了数据传输的同道,就可以在同道中进行数据的传输
		 * 	这个传输其实就是通过流实现的,这个流就是SocketIO流
		 * 3、只要获取Socket IO中的写动作,就可以把数据写到socket流中发给服务端
		 * */
		System.out.println("客户端启动");
		//1、创建客户端对象,明确目的地和端口
		Socket s = new Socket("192.168.1.253", 10003);
		
		//2、获取socket流中的输出流,将数据发送给服务端
		OutputStream out = s.getOutputStream();
		
		//3、通过输出流写数据
		out.write("又要注意了,TCP来了".getBytes()); //传输的是字节流
		
		//4、关闭资源
		s.close();
	}

}
服务器端代码:

public class TCP_Server {
	public static void main(String[] args) throws IOException{
		/*
		 * 创建TCP服务器端
		 * 思路:
		 * 1、创建socket服务器端服务,服务器端为了让客户端可以连接上,
		 * 	必须提供端口,监听一个端口。
		 * 2、获取客户端对象,通过客户端的socket流和对应的客户端进行通信
		 * 3、获取客户端的socket流的读取流
		 * 4、读取数据并显示在服务器端
		 * 5、关闭资源
		 * */
		System.out.print("服务器端启动……");
		
		//1、创建服务器端对象
		ServerSocket ss = new ServerSocket(10003);
		
		//2、获取客户端对象
		Socket s = ss.accept();
		String ip = s.getInetAddress().getHostAddress();
		System.out.print(ip +"……连接起来");
		
		//3、通过客户端对象获取socket流的读取流
		InputStream in = (InputStream) s.getInputStream();
		
		byte[] buf = new byte[1024];//建立缓冲区
		int len = in.read(buf);
		String str = new String(buf,0,len);
		
		System.out.print(str);
		
		s.close();
		ss.close();
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值