題目:
使用TCP協議編寫一個網絡程序,設置服務器端的監聽端口是8002,當與客戶端建立連接後,服務器端向客戶端發送數據“Hello,world”,客戶端收到數據後打印輸出。
代碼:
package TCP;
import java.io.InputStream;
import java.net.InetAddress;
import java.net.Socket;
public class TCPClientTest {
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
new TCPClient().connect();
}
}
class TCPClient{
private static final int PORT = 8002;
public void connect() throws Exception{
Socket client = new Socket(InetAddress.getLocalHost(),PORT);
InputStream is = client.getInputStream();
byte[] buf = new byte[1024];
int len = is.read(buf);
System.out.println(new String(buf,0,len));
client.close();
}
}
[java] view plain copy
package TCP;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class TCPServerTest {
public static void main(String[] args) throws Exception {
new TCPServer().listen();
}
}
class TCPServer
{
private static final int PORT = 8002;
public void listen() throws Exception{
ServerSocket serverSocket = new ServerSocket(PORT);
Socket client = serverSocket.accept();
OutputStream os = client.getOutputStream();
System.out.println("開始與客戶端交互數據");
os.write(("Hello World!").getBytes());
Thread.sleep(5000);
System.out.println("結束與客戶端交互數據");
os.close();
client.close();
}
}