聊天程序的工作方式:
1.客户端连接到服务器
2.服务器建立连接并将用户添加到来宾名单
3.另外一个用户连接到服务器
4.用户a通过服务器将信息发送到用户b,同时可以接收到用户b的回信
【定位服务器】用Socket或者ip地址(4个0~255之间的数字)定位服务器
【java.net.Socket】java.net包含网络编程的大部分接口和实现类等等;Socket是客户端的套接字,是ip地址+端口号(在每个端口号可以实现一个服务)的组成;而java.net.ServerSocket中的ServerSocket是服务器端的套接字;两个套接字之间可以创建连接
练习一、建立网络连接,将客户端连接到服务器
Server:
import java.net.*;
import java.io.IOException;
public class Server{
private ServerSocket serverSocket;
public Server(){
try{
serverSocket=new ServerSocket(1056);//1056代表计算机的端口号,意味着这个服务器是在本机的1056端口提供服务
System.out.println("server started......");
Socket client=serverSocket.accept();
//监听客户端的连接。如果没有监听到客户端的连接,这个方法会暂停在这里,只有监听到客户端的连接,这个accept方法才会执行完毕
System.out.println("有客户连接上服务器了");
}catch(IOException e){
e.printStackTrace();
}
}
public static void main(String[] args){
new Server();
}
}
Client:
import java.net.*;
import java.io.IOException;
public class Client{
private Socket clientSocket;
public Client(){
try{
clientSocket=new Socket("127.0.0.1",1056);
//因为服务器就在本机,所以ip地址是127.0.0.1,端口号是1056;如果这句话成功执行,就意味着已经连到了服务器
System.out.println("客户端连接上服务器了");
}catch(IOException e){
e.printStackTrace();
}
}
public static void main(String[] args){
new Client();
}
}