客户端发送消息给服务端,并且服务端返回消息给客户端
package tcpdemo;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
import java.net.UnknownHostException;
/*
* 客户端发送一个字符串i love java信息,接收服务器端一个字母o的响应
*
* public void shutdownOutput() 禁止输出流,告知对方
*/
public class Client {
public static void main(String[] args) throws IOException {
//建立客户端
Socket socket = new Socket("192.168.2.25", 55555);
//获取IO流输出流对象
OutputStream out = socket.getOutputStream();
//输出数据
out.write("i love java".getBytes());
//告知服务器,不再发送数据了
socket.shutdownOutput();
//获取IO流输入流对象
InputStream in = socket.getInputStream();
//输入数据
int read = in.read();
System.out.println(read);
System.out.println((char)read);
//关闭socket
socket.close();
}
}
package tcpdemo;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
/*
* 客户端发送一个字符串ilove java信息,接收服务器端一个字母o的响应
*/
public class Server {
public static void main(String[] args) throws IOException {
//建立服务器端
ServerSocket ss = new ServerSocket(55555);
//通过Socket服务获取Socket,已经完成了连接动作
Socket socket = ss.accept();
//建立连接后,通过Socket中的IO流(Socket流)进行数据的传输。
InputStream in = socket.getInputStream();
//反复使用一个字节接收
int c;
while((c=in.read())!=-1) {
System.out.print((char)c);
}
//获取输出流,响应数据
OutputStream out = socket.getOutputStream();
out.write("o".getBytes()[0]);
//关闭socket
socket.close();
ss.close();
}
}