黑马程序员:网络编程TCP传输
2012-02-26 23:47
417 查看
---------------------- android培训、java培训、期待与您交流! ----------------------
建立客户端和服务端
建立连接后,通过Socket中的IO流进行数据的传输。
关闭Socket
同样客户端和服务端是两个独立运行的程序。
--------------------------------------------------------
TCP分为客户端和服务端
客户端对应的对象是Socket
服务端对应的对象是ServerSocket
-------------------------------------------------------
客户端:Socket创建对象时就可以去链接指定主机。
因为TCP是面向连接的,所以在建立客户端时,就要有服务端存在,
并连接成功,形成通路后,通过IO流进行数据传输。
-----------------------------------------------------------
步骤:
1.创建Socket服务,并指定要链接的主机和端口。
2.获取socket流中的输出流,将数据写到该流中。
3.获取Socket流中的输入流,将服务端反馈的数据获取到,并打印。
4.关闭客户端
---------------------- android培训、java培训、期待与您交流! ----------------------详细请查看:http://edu.csdn.net/heima
TCP传输
Socket和ServerSocket建立客户端和服务端
建立连接后,通过Socket中的IO流进行数据的传输。
关闭Socket
同样客户端和服务端是两个独立运行的程序。
--------------------------------------------------------
TCP分为客户端和服务端
客户端对应的对象是Socket
服务端对应的对象是ServerSocket
-------------------------------------------------------
客户端:Socket创建对象时就可以去链接指定主机。
因为TCP是面向连接的,所以在建立客户端时,就要有服务端存在,
并连接成功,形成通路后,通过IO流进行数据传输。
-----------------------------------------------------------
步骤:
1.创建Socket服务,并指定要链接的主机和端口。
2.获取socket流中的输出流,将数据写到该流中。
3.获取Socket流中的输入流,将服务端反馈的数据获取到,并打印。
4.关闭客户端
import java.io.*; import java.net.*; class Client { public static void main(String[] args) { try { //创建客户端的Socket服务,指定要连接服务端ip和端口 //通路建立后就在客户端和服务端之间建立了一条Socket流 //可以通过Socket的相应方法获取IO流 Socket s = new Socket("192.168.1.100",10000); //创建带缓冲技术的字符读取转换流去键盘关联 BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in)); //创建带缓冲技术的字符读取转换流装饰Socket输入流 BufferedReader bufin = new BufferedReader(new InputStreamReader(s.getInputStream())); //创建带缓冲技术的字符输出转换流装饰Socket输出流 BufferedWriter bufout = new BufferedWriter(new OutputStreamWriter(s.getOutputStream())); String line = null; while ((line=bufr.readLine())!=null) { if("886".equals(line)) break; bufout.write(line); bufout.newLine(); bufout.flush(); System.out.println(bufin.readLine()); } s.close(); } catch (Exception e) { throw new RuntimeException("客服端异常"); } } }
/* 服务端: 1.建立服务端:ServerSocket();并监听一个端口 2.通过服务端的accept方法,获取连接过来的客户端对象,没有连接有会等,这个方法是阻塞式的 3.客服端如果发过来数据,那么服务端要是用对应的客服端对象,获取该客户端的读取流读取发过来的数据。 4.关闭服务端(可选)一般服务端不需要关闭。 */
class Server { public static void main(String[] args) { try { ServerSocket ss = new ServerSocket(10000); Socket s = ss.accept(); String ip = s.getInetAddress().getHostAddress(); System.out.println(ip+"......connected"); BufferedWriter bufout = new BufferedWriter(new OutputStreamWriter(s.getOutputStream())); BufferedReader bufin = new BufferedReader(new InputStreamReader(s.getInputStream())); String line = null; while ((line=bufin.readLine())!=null) { System.out.println(line); bufout.write("服务器说:"+line.toUpperCase()); bufout.newLine(); bufout.flush(); } s.close(); } catch (Exception e) { throw new RuntimeException("服务端异常"); } } }
---------------------- android培训、java培训、期待与您交流! ----------------------详细请查看:http://edu.csdn.net/heima
相关文章推荐
- 黑马程序员_java网络编程——UDP传输和TCP传输
- 黑马程序员-网络编程 tcp传输 URL
- 黑马程序员:网络编程之TCP传输
- 黑马程序员--java基础--网络编程TCP传输
- 黑马程序员---网络编程(TCP传输)
- 黑马程序员---网络编程(TCP传输 二)
- 黑马程序员--10.网络编程--02.【网络传输三要素在Java中的体现】【TCP和UDP概念】【Socket基本概念】
- 黑马程序员-网络编程之TCP传输小总结
- 黑马程序员-网络编程之TCP传输小总结
- 黑马程序员——java网络编程中的传输协议:UDP和TCP
- JAVA基础 day25 网络编程 IP类 UDP,TCP传输学习 简易聊天工具 TCP并发学习
- 基于TCP传输的网络编程异常处理
- 网络编程中的TCP传输和UPD传输
- Java基础---Java---网络编程---TCP的传输、客户端和服务端的互访、建立一个文本转换器、编写一个聊天程序
- 黑马程序员-----网络编程中Tcp练习
- 黑马程序员-网络编程 udp传输
- 黑马程序员-网络编程TCP练习(客户端)
- [网络编程] TCP、UDP区别以及TCP传输原理、拥塞避免、连接建立、连接释放总结
- 应聘复习基础笔记1:网络编程之TCP与UDP的优缺点,TCP三次握手、四次挥手、传输窗口控制、存在问题
- java网络编程 tcp 黑马程序员学习笔记(11)