使用TCP协议编写一个网络程序,设置服务器端的监听端口是8002,当与客户端建立连接后,服务器端向客户端发送数据“Hello, world”,客户端收到数据后打印输出。
import java.io.*;
import java.net.*;
public class server {
public static void main(String[] args) throws Exception {
new TCPServer().listen(); //创建tcp对象,并调用listen方法
}
}
class TCPServer {
public void listen() throws Exception {
ServerSocket serverSocket = new ServerSocket(8002);//创建其对象,并定义端口号
Socket client = serverSocket.accept(); //accect方法用于接收数据
OutputStream os = client.getOutputStream(); //获取客户端的输出流
System.out.println("开始与客户端交互数据");
os.write(("hello world").getBytes());
Thread.sleep(5000);
System.out.println("结束与客户端交互数据");
os.close();
client.close();
}
}
import java.io.*;
import java.net.*;
public class client {
public static void main(String[] args) throws Exception {
new TCPClient().connect();//创建客户端对象
}
}
class TCPClient {
public void connect() throws Exception {
//穿件一个Socket并连接到给出地址和端口号的计算机
Socket client = new Socket(InetAddress.getLocalHost(), 8002);
InputStream is = client.getInputStream(); //得到接收数据的流
byte[] buf = new byte[1024];
int len = is.read(buf);//将数据存到定义的缓冲区中
System.out.println(new String(buf, 0, len));//将缓存区的数据输出
client.close();//关闭Socket对象,释放资源
}
}