使用socket通信的步骤
- 服务器端:在服务器端用socket()建立套接字,用accept()等待客户端连接,accept()有阻塞的作用,在没有接收到客户端连接时会阻塞服务器接下在的执行,知道客户端连接为止。
- 客户端:同样利用socket()建立套接字连接服务器,利用字节流从服务器里读写数据,直至数据交换完毕(交换完毕与字节流传输有关)。
多客户端连接同一服务器
设备连接服务器并不只是局限于单个客户端,也可以多个客户端进行访问。这就要运用java多线程来解决这类问题了。这就好比你开了多个QQ进行登录,这些QQ访问的使腾讯的服务器一样。
多客户端连接,每连接上一个客户端就给该客户端开启一个线程,监听端口的时候也要单独开一个线程、不然会阻塞主线程。
使用多线程的好处:减少因频繁创建和销毁线程带来开销。
举例:
通过一个服务器,实现多个客户端访问服务器资源
实现代码:
首先我们需要创建一个学生类,主要是为了增加一些数据的访问。
Student类:访问它的学号和姓名
package net;
import java.io.Serializable;
public class Student implements Serializable {
private String name;
private int id;
public Student(){
}
public Student(int id , String name){
th