您的位置:首页 > 理论基础 > 计算机网络

【java基础:net】基于TCP的客户端与服务端Demonstration

2017-11-22 12:17 453 查看
第一部分:客户端

package net.tcp;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;

public class TcpClientDemo {

/*
* 需求:建立一个TCP客户端
* 1,首先是建立一个TCP客户端的socket,建立时需指定IP地址和端口号。
* 2,从socket中获取输出流。
* 3,向输出流中输出数据
* 4,接收来自客户端的数据并显示。
* 5,关闭资源。
*/
public static void main(String[] args) throws IOException {
Socket socket=new Socket("192.168.0.100",10001);
OutputStream out=socket.getOutputStream();
out.write("TCP测试".getBytes());
InputStream in=socket.getInputStream();
byte[] buf=new byte[1024];
int len=in.read(buf);
String str=new String(buf,0,len);
System.out.println(str);
socket.close();
}

}
第二部分:服务端

package net.tcp;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class TcpServerDemo {
/*
* 需求:建立一个TCP服务端。
* 1,首先建立一个服务端的Socket,利用ServerSocket对象,并且建立时要指定端口号。
* 2,利用服务端对象的accept()方法获取客户端的socket对象,并建立输入流,然后读取数据。
* 3,利用客户端的socket对象建立输出流,反馈收到的信息。
* 4,关闭资源。
*/
public static void main(String[] args) throws IOException {
ServerSocket ss=new ServerSocket(10001);
Socket socket=ss.accept();//阻塞式
InputStream in=socket.getInputStream();
byte[] buf=new byte[1024];
int len=in.read(buf);
String str=new String(buf,0,len);
System.out.println(str);
OutputStream out=socket.getOutputStream();
out.write("收到".getBytes());
socket.close();
ss.close();
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐