/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package Network;
import Concurrency.CThreadPoolManager;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Observable;
/**
*
* @author Bryden
*/
public class CSocket extends Observable implements Runnable {
private final ServerSocket objServerSocket;
public CSocket() throws IOException {
objServerSocket = CSocketFactory.createNetworkListener();
}
public CSocket(int intPortNumber) throws IOException {
objServerSocket = CSocketFactory.createNetworkListener(intPortNumber);
}
@Override
public void run() {
while (true) {
try {
Socket objSocket = objServerSocket.accept();
CThreadPoolManager.runTask(() -> {
CSocket.this.setChanged();
CSocket.this.notifyObservers(objSocket);
});
} catch (IOException ex) {
System.out.println(ex);
}
}
}
}