基本内容是计算机网络;
Java实现初步;
Server端:
import java.io.*;
import java.net.*;
public class TCPServer {
public static void main(String[] args) throws Exception {
ServerSocket ss = new ServerSocket(666);
while(true) {
Socket s = ss.accept();
System.out.println("A client linked");
DataInputStream dis = new DataInputStream(s.getInputStream());
System.out.println(dis.readUTF());
dis.close();
s.close();
}
}
}
client端:
import java.io.*;
import java.net.*;
public class TCPClient {
public static void main(String[] args) throws Exception {
Socket s = new Socket("127.0.0.1",666);
OutputStream os = s.getOutputStream();
DataOutputStream dos = new DataOutputStream(os);
dos.writeUTF("hello Jod Gob Aha");
os.flush();
os.close();
s.close();
}
}
主要有以下几点:
网络编程不仅要编写用户端还要编写服务器端,运行时先运行服务器端再运行用户端,必须先要有一个服务器进行监听,才能进行响应客户端的操作,但是编程时由于要相互对应,所以一般同时对应编程。
基本思路
服务器端,先建立一个服务器端口,只需要给予一个端口号进行监听即可,然后建立一个用户端口,用来接收用户传输的的数据,由于要随时进行接受数据,所以一般用死循环保证能随时接收。然后就是对接收后的数据流的处理。
用户端,建立一个用户端口,注意其需要点名其所连的服务器端口号,和自己监听的端口。然后进行数据的传输。
注:在操作后,不论是数据流,用户端口还是服务器端口都要进行close。
对于数据流的处理,基本上是端口接收后,利用端口的getOutputStream等方法转化为普通的数据流进细处理。利用该方法可以将其转化为一个数据流类。
先运行了服务器端后,服务器处于监听状态,一直等待,当有链接到他的客户端发出数据后,他才会进行响应。