下面是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();
}
}