----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------
建立TCP传输的步骤如下:
1、建立客户端(Socket)和服务器端(ServerSocket);
2、通过Socket中的IO流进行数据传输;
3、关闭Socket。
注意,客户端和服务器端是两个独立的应用程序。
示例代码:
客户端代码:
import java.io.*;
import java.net.*;
public class TCPClient{
public static void main(String[] args)throws Exception{
/*1、创建客户端Socket;需要指定服务端的地址和端口*/
Socket socket=new Socket("192.168.1.100",10001);
/*2、获取Socket中的IO流,进行数据传输*/
//获取输出流,向服务器端发送数据
OutputStream os=socket.getOutputStream();
os.write("来自客户端的数据".getBytes());
//获取输入流,接收服务器端返回的数据
InputStream is=socket.getInputStream();
byte[] buf=new byte[1024];
is.read(buf);
System.out.println(new String(buf,0,buf.length));
/*3、关闭Socket*/
socket.close();
}
}
服务器端代码:
import java.io.*;
import java.net.*;
public class TCPServer{
public static void main(String[] args)throws Exception{
/*1、创建服务端ServerSocket;指定监听的端口*/
ServerSocket ss=new ServerSocket(10001);
/*2、获取连接过来的Socket中的IO流,进行数据传输*/
Socket socket=ss.accept();
String ip=socket.getInetAddress().getHostAddress();
System.out.println(ip+"...connected");
//获取输入流,接收客户端发送的数据
InputStream is=socket.getInputStream();
byte[] buf=new byte[1024];
is.read(buf);
System.out.println(new String(buf,0,buf.length));
//获取输出流,向客户器端反馈数据
OutputStream os=socket.getOutputStream();
os.write("服务端反馈的数据".getBytes());
/*3、关闭Socket*/
socket.close();
ss.close();//此步为可选操作,为了为其他的客户端提供服务,可以不关闭
}
}
注意:上述代码可能抛SocketException、IOException等异常,为了展示TCP传输的基本用法未对这些异常进行处理,实际编程时需要对它们进行处理。