1.套接字(socket)
是两台主机之间逻辑连接的端点,可以用来发送和接受数据(java对socket的处理类似于输入输出操作)
ServerSocket serverSocket =new ServerSocket(8000);
Sockt socket=serverSocket.accept();//一直等待,直到一个客户端连接到服务器套接字
Socket socket=new Socket(serverHost,8000);
端口号范围:0-65536,但0-1024为特权服务保留
端口号用来区分同一机器上的不同应用程序
2.程序可以使用主机名localhost或IP地址127.0.0.1来引用客户端正在运行的计算机
Socket socket = new Socket(localhost,8000);
3.通过套接字进行数据传输
InputStream input=socket.getInputStream();
OutputStream output=socket.getOutputStream();//用来读取和写入字节
//可以用DataInputStream,DataOutputStream,BufferedReader,PrintWriter来包装
4.socket.getLocalPost()来看客户端的本地端口
5.InetAddress类 获取客户端的主机名和ip地址
InetAddress inetAddress=socket.getInetAddress();
System.out.println("Client's host name is "+inetAddress.getHostName());
System.out.println("Client's IP Address is "+inetAddress.getHostAddress());
还可以用静态方法getByName通过主机名或IP地址创建一个InetAddress的实例.
InetAddress address =InetAddress.getByName("liang.armstrong.edu");
6.applet客户端
socket=new Socket(getCodeBase().getHost(),8000);