java网络编程(5)——Tcp
2015-08-02 09:33
453 查看
Tcp相对于Udp就是面向连接的协议,最主要的特点要建立连接之后才能通信,客户端用Socket需要指点地址与端口,服务端用ServeSocket,只需指点监听某个端口,因为是面向连接,所以服务器端一定要先运行起来,然后客户端就可以通过地址和端口找到我们的服务端,建立连接之后就可以通信!
首先实现最简单的服务端,客户端通信的一个小例子
客户端:
服务端:
这样就实现了客户端服务端之间的通讯,其实主要都是通过socket对象实现的,客户端socket的OutputStream对应服务端socket的InputStream,而服务端的OutputStream就对应客户端的InputStream,通过这两个流就实现了通信,包括文本,图片,文件等,只需把文件变成字节流就可以通过tcp来传输!
首先实现最简单的服务端,客户端通信的一个小例子
客户端:
package com.seven.tcp; import java.io.OutputStream; import java.net.Socket; public class TcpClient { public static void main(String[] args) throws Exception { Socket socket = new Socket("127.0.0.1",10001); OutputStream out = socket.getOutputStream(); out.write("hello tcp".getBytes()); socket.close(); } }
服务端:
package com.seven.tcp; import java.io.InputStream; import java.net.ServerSocket; import java.net.Socket; public class TcpServer { public static void main(String[] args) throws Exception { ServerSocket serverSocket = new ServerSocket(10001); //获取客户端socket Socket socket = serverSocket.accept(); InputStream in = socket.getInputStream(); byte[] b = new byte[1024]; while(true){ int len = in.read(b); if(len == -1) break; System.out.println(socket.getInetAddress()+"---->"+new String(b,0,len)); } socket.close(); } }
这样就实现了客户端服务端之间的通讯,其实主要都是通过socket对象实现的,客户端socket的OutputStream对应服务端socket的InputStream,而服务端的OutputStream就对应客户端的InputStream,通过这两个流就实现了通信,包括文本,图片,文件等,只需把文件变成字节流就可以通过tcp来传输!
相关文章推荐
- TCP连接、Http连接与Socket连接
- 网络编程系列之七 各种网络转换函数和结构体
- 网络连接和集合、泛型
- HttpClient 4.3教程(转载)
- uva11082 最大流和网络流建模
- java下载网络文件代码
- httpclient4.2.1 连接池
- android-类HttpURLConnection的使用
- Apache HttpClient4.3 Fluent API使用心得小结
- HTTP长连接和短连接
- Apache HttpComponents(HTTPClient) Fluent API 使用
- Ubuntu14.04.2无法连接无线网络问题解决方案
- http封装
- 确保Web安全的HTTPS
- Android的Http通信加载页面、下载图片 以及doGet、doPost请求服务器
- HTTP错误状态码定位与解决
- TCP协议详解(二)
- 社会友谊和人群移动:基于位置的社交网络中的用户移动(一)
- HttpClient使用详解
- httpclient中文API