黑马程序员----java基础-----网络编程(TCP传输)
------- android培训、java培训、期待与您交流! ----------
演示tcp传输。
1tcp分客户端和服务端。
2.客户端对应的对象是Socket.
服务端对应的对象是ServerSocket.
/*/***
/*/**
客户端
通过socket对象,发现在该对象建立时,就可以去连接指定主机。
因为top是面向连接的,并连接成功,形成通路时,在该通路进行数据传输。
/*/**步骤
1.创建Socket服务,并指定要连接主机的端口。
import java.io.*;
inport java.net.*;
Class TcpClient{
public static void main(String[] args)
{
//创建客户端的socket服务,指定目的主机和端口
Socket s=new Socket("192.168.1.254",10003);
//为发送数据,应该获得 socket流中的输出流。
OutputStream out=s.getoutputStream();
out.write("top ge men lai le".gerBytes());
s.close();
}
定义,定义端点接收数据并打印在控制台上。
服务端:
1.建立服务端的socket服务,ServerSocket();
并监听、一个端口。
2.获取链接过来的客户端对象。
通过ServerSokcet的accept方法,没有连接就会等,所以这个方法阻塞式的。
3客户端如果发过来数据,那么服务端使用对应的客户端对象,并获取到该客户的读取流来的数据,并打印在控制台。
4.关闭服务端.
Class TcpServer {
public static void main(String[] args)
{
//建立服务端socket服务,并监听一个端口。
ServerSocket ss=new ServerSocket(10003);
//通过accept方法获取链接过来的客户端对象。
Socket s =ss.accept();
String ip=s.getInetAddress().getHostAddress();
System.out.println(ip+"*****connected");
//获取客户端发送过来的数据,那么要使用客户端对象的读取流来读取数据。
Inputstream in=s.getInputstream();
byrte[]buf=new byte[1024];
lint len=in.read(buf);
System.out.println(new String(buf,0,len));
s.close();//关闭客户端
ss.close();
}
}