A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 嗷嗷嗷 中级黑马   /  2014-12-28 17:26  /  1051 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


演示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();
}


}

1 个回复

倒序浏览
学习了。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马