java 网络编程---TCP的基础级示例

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 网络编程---TCP的基础级示例相关的知识,希望对你有一定的参考价值。

    下面是TCP java网络编程的基础示例:

tcp传输:客户端建立过程的思路:
1、创建TCP客户端的Socket服务,使用的是socket对象,建议在创建的过程中,就明确了目的地和要连接的主机
2、如果连接建立成功,说明数据传输通道已经建立,该通道就是Socket的I/O流,是底层建立好的,既然是流,就说明有输入流,就有输出流,要换取就找socket获取相关的流即可,   getInputStream()和getOutputStream()的字节流。
3、使用输出流,将数据输出;使用输入流,把数据输入。
4、关闭资源。

tcp传输:服务器端建立过程的思路:

1、创建TCP服务端的Socket服务,通过ServerSocket对象创建。
2、服务器端对外提供提供一个端口,否则客户端无法连接。
3、获取连接过来的客户端对象。
4、通过客户端对象获取socket流,读取客户端发来的数据,并打印出来
5、关闭资源。

客户端如下:

public class ClientDemo {

public static void main(String[] args) throws UnknownHostException, IOException {

//1.创建TCP客户端的Socket服务
Socket socket = new Socket("192.168.5.163",10000);
//2.获取Socket的输出流
OutputStream outputStream =socket.getOutputStream();
//3.使用输出流将数据输出
outputStream.write("tcp 客户端演示".getBytes());
//4.关闭资源
socket.close();
}
}

服务器端如下:

public class ServerDemo {

public static void main(String[] args) throws IOException {
//1.创建服务器对象
ServerSocket ss = new ServerSocket(10000);

//2.获取连接过来的客户端对象
Socket s = ss.accept();

String ip =s.getInetAddress().getHostAddress();

//3.通过Socket对象获取输入流,获取客户端发送来的数据
InputStream is =s.getInputStream();

byte[] buf =new byte[1024];

int len =is.read(buf);
String testString =new String(buf,0,len);
System.out.println( ip +"说:s" + testString);

s.close();
ss.close();
}
}

以上是关于java 网络编程---TCP的基础级示例的主要内容,如果未能解决你的问题,请参考以下文章

java网络编程基础(知识+代码示例)

java高性能编程基础 - TCP与UDP的详细解读

阶段1 语言基础+高级_1-3-Java语言高级_07-网络编程_第2节 TCP协议_2_TCP通信的概述(下)

CentOS 7.0版本下安装SVN服务端示例

boost asio 学习 网络基础 连接器和接收器(TCP示例)

Java-Web学习-Java基础-网络编程(TCP和UDP)附TCP实现通信