socket 连接的首先需要 服务器端 开启socket端口
public class TCPServer implements Runnable{
private static Logger logger = LoggerFactory.getLogger(TCPServer.class);
@Override
public void run() {
ServerSocket ss = null;
Socket s = null;
try {
logger.info("等到saocket连接");
ss = new ServerSocket(49898);
while (true) {
s = ss.accept();
logger.info("连接成功");
new Thread(new socketRun(s)).run();
// new socketRun(s).run();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
new ServerSocket(49898);
参数传入的是socket的端口号,在客户端连接时需要用到
socket服务端需要做的就是等待客户端的连接访问
s = ss.accept();
当accept()方法检测到有访问,则建立一条与客户端的连接
同时socekt类实现了runable接口,在多个客户端连接时建立自己的线程连接
new Thread(new socketRun(s)).run();
thread的实例化方法带runable对象参数,在线启动时,调用对象的run方法
public class socketRun implements Runnable {
private static Logger logger = LoggerFactory.getLogger(socketRun.class);
private Socket s;
public socketRun(Socket s) {
this.s = s;
}
@Override
public void run() {
ObjectOutputStream out = null;
ObjectIn