分别使用java提供的表示客户端的类socket和表示服务器的类ServerSocket
客户端
package Client;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
public class MyClient {
public static void main(String[] args) throws IOException {
//创建客户端,指定客户端的ip地址和端口号
Socket socket = new Socket("127.0.0.1",8888);
//获取网络字节输出流,准备向服务器写数据
OutputStream os = socket.getOutputStream();
//向服务器写数据
os.write("服务器,你好".getBytes());
//获取网络字节输入流,准别读物服务器返回的数据
InputStream is = socket.getInputStream();
//读取服务器返回的数据
byte[] bytes = new byte[1024];
int len = is.read(bytes);
System.out.println(new String(bytes,0,len));
//释放资源
socket.close();
}
}
服务器
package Server;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class MyServer {
public static void main(String[] args) throws IOException {
//创建服务器
ServerSocket server = new ServerSocket(8888);
//监听到发送数据的客户端
Socket scoket = server.accept();
//创建网络字节输入流,读取客户端发送的数据
InputStream is = scoket.getInputStream();
//读取客户端发送的数据
byte[] bytes = new byte[1024];
int len = is.read(bytes);
System.out.println(new String(bytes,0,len));
//获取网络字节输出流,给客户端写回数据
OutputStream os = scoket.getOutputStream();
os.write("你好,客户端".getBytes());
//释放资源
scoket.close();
server.close();
}
}