黑马程序员-TCP传输数据
来源:互联网 发布:人工智能处理概率 编辑:程序博客网 时间:2024/04/29 09:43
---------------------- android培训、java培训、期待与您交流! ----------------------
1,TCP分为客户端和服务端
2,客户端的对象是Socket,服务端对应的对象是ServerSocket
客户端:
通过查阅Socket对象,发现在该对象建立时,就可以去连接指定主机
因为tcp是面向连接的,所以在建立socket服务时,就要有服务端存在,并连接成功,形成通路后,在该通道进行数据的传输。
给服务端发送一个文本数据。
import java.net.*;
import java.io.*;
class TCPClient
{
public static void main(String[] args) throws Exception
{
//创建客户端的Socket服务,指定目的主机和端口
Socket s = new Socket("192.168.1.232",2500);
//为了发送数据,应该获取socket流中的输出流
OutputStream out = s.getOutputStream();
out.write("tcp 我来了!".getBytes());
s.close();
}
}
服务端:
1,建立服务端的socket服务。ServerSocket(),并监听一个端口
2,获取连接过来的客户端对象,通过ServerSocket的accept方法,没有连接就会等待(阻塞式的)
3,客户端如果发过来数据,那么服务端要使用对象的客户端对象,并获取到该客户端对象的读取流来读取数据,并打印在控制台
4,关闭服务端(可选)
class TCPServer
{
public static void main(String[] args) throws Exception
{
//创建服务端的Socket服务,并监听一个端口
ServerSocket ss = new ServerSocket(2500);
//通过accept方法获取连接过来的客户端对象。
Socket s = ss.accept();
String ip =s.getInetAddress().getHostAddress();
System.out.println(ip+"。。。connected");
//获取客户端发过来的数据,那么要使用客户端对象的读取流来读取数据
InputStream ips =s.getInputStream();//网络流
byte[] buf =new byte[1024];
int len = ips.read(buf);
System.out.println(new String (buf,0,len));
s.close();//关闭客户端
}
}
该程序是实现客户端给服务端发送一个文本,首先要明确一点,客户端和服务端建立Socket服务的对象不同,在客户端是Socket,而在服务端是ServerSocket。在客户端获取socket流中的输出流,然后将文本数据发送给服务端。在服务端需要监听一个端口,并通过accept方法来获取链接过来的客户端对象,然后用socket流中的输入流将数据读取出来并打印。运行的时候需要注意的一点是,因为TCP是面向连接的,所以只有当客户端和服务端连接成功是才会发送数据,否则不会发送。因此必须先运行服务端的程序后,才能运行客户端的程序。
---------------------- android培训、java培训、期待与您交流! ----------------------
详细请查看:http://edu.csdn.net/heima
- 黑马程序员-TCP传输数据
- 黑马程序员 TCP传输
- 黑马程序员---TCP传输
- 黑马程序员-TCP传输
- 黑马程序员--通过Tcp传输方式来建立通信传输数据
- 黑马程序员:网络编程TCP传输
- 黑马程序员-网络编程 tcp传输 URL
- 黑马程序员:网络编程之TCP传输
- 黑马程序员——TCP传输
- 黑马程序员——30,TCP传输
- 黑马程序员---网络编程(TCP传输)
- 黑马程序员 网络(UDP传输和TCP传输)及反射
- 黑马程序员 Java网络传输UDP和TCP协议
- 黑马程序员-TCP传输练习出现的问题
- 黑马程序员——java TCP传输演示
- 黑马程序员-网络编程之TCP传输小总结
- 黑马程序员——网络编程(TCP传输)
- 黑马程序员-------网络编程中Tcp传输协议
- ZOJ 1002
- Android 框架简介
- 湖南师大acm problem 10384 计算点到线段之间的距离
- POSIX的线程的取消点(Cancellation Point)的概念和实现方式
- google各国域名
- 黑马程序员-TCP传输数据
- u880刷2.3.7
- XMLHttpRequest类成员和实例
- JS 获得网页代码 远程网页源代码读取
- PHP+AJAX实现无刷新注册(带用户名实时检测)代码
- Thread的run()与start()的区别
- Linux 下 Oracle OUI 安装界面乱码
- Ubuntu下安装jdk6.0
- 日期格式化的常见方法以及两种常见方法的详细举例