在JAVA网络编程中,分客户端与服务器端,客户端一般用socket创建,服务器端用serversocket创建
数据传输用的还是IO流,所以,我们发现它们抛出的异常父类也是IO父类
下面,先看客户端代码:
public static void main(String[] args)throws IOException {//要链接的服务器地址与端口Socket socket = new Socket("127.0.0.1",8899);//创建字节IO流输出OutputStream out = socket.getOutputStream();//发送到服务器out.write("测试服务器".getBytes());//接收服务器数据IO流InputStream in =socket.getInputStream();byte[] b = new byte[1024];int len = in.read(b);System.out.println(new String(b,0,len));socket.close();
Socket socket = new Socket("127.0.0.1",8899);
这一句,我们就连接服务器了,剩下是输入输出数据
好,接下来我们看服务器端
public static void main(String[] args)throws IOException {ServerSocket server = new ServerSocket(8899);//类似绑定客户端,让服务器知道接收的是谁的数据与把数据发送给谁Socket socket = server.accept();InputStream in = socket.getInputStream();byte[] b = new byte[1024];//读取客户端数据int len = in.read(b);System.out.println(new String(b,0,len));//发送数据到客户端OutputStream out = socket.getOutputStream();out.write("收到数据,服务器连接成功!".getBytes());socket.close();server.close();}
这里,我们接收客户端数据,还发送了一条数据给客户端,需要注意的就是数据都是字节流,所以字符串注意转换。