使用Socket套接字进行网络通信
客户端代码
import java.io.*;
import java.net.Socket;
public class TestClient { //客户端
public static void main(String[] args) throws IOException {
System.out.println("客户端启动------>");
//套接字,指定服务器的IP和端口号
Socket s=new Socket("127.0.0.1",8888);
//利用输出流传递数据
OutputStream os = s.getOutputStream();
DataOutputStream dos=new DataOutputStream(os);
//传送数据
dos.writeUTF("你好服务器,我是客户端!");
//对服务器返回的数据做处理
InputStream is=s.getInputStream();
DataInputStream dis=new DataInputStream(is);
String str = dis.readUTF();
System.out.println("服务器说:"+str);
//关闭流和网络资源
dis.close();
dos.close();
s.close();
}
}
服务器代码
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
public class TestServer {
public static void main(String[] args) throws IOException {
System.out.println("服务器启动------>");
//套接字
ServerSocket ss=new ServerSocket(8888);
//等待客户端发送数据
Socket s=ss.accept();
//获取输入流
InputStream is=s.getInputStream();
DataInputStream dis=new DataInputStream(is);
//接收客户端发送的数据
String str = dis.readUTF();
System.out.println("客户端说:"+str);
//向客户端发送数据
OutputStream os=s.getOutputStream();
DataOutputStream dos=new DataOutputStream(os);
dos.writeUTF("你好客户端,我接收到你的信息了!");
//关闭流和网络资源
dos.close();
dis.close();
s.close();
ss.close();
}
}
运行结果