function process()
{
	while (1)
	{
		$botSocketArray = $this->getIrcSocketList();
		// print_r($botSocketArray);
		if ($bufSockSelect=@socket_select($botSocketArray['socket'], $write, $except = NULL, 1))
		{
			foreach ($botSocketArray['class'] as $class)
			{
				if (!@socket_recv($class->socket,$buf,512,MSG_PEEK)) continue;
				if ($class->socktype == “irc”)
				{ // irc소켓일 경우

이런식으로 애매하게 쓰고 있던 socket_select 함수를,

function process()
{
	while (1)
	{
		$botSocketArray = $this->getIrcSocketList();
		if (!$botSocketArray) return error(“어떤 봇도 실행중이지 않습니다.);
		foreach ($botSocketArray['class'] as $class)
		{
			$fd = array( $class->socket );
			if (!$bufSockSelect=@socket_select($fd, $write, $except = NULL, 0)) continue;
			if (!@socket_recv($class->socket,$buf,512,MSG_PEEK)) continue;
			if ($class->socktype == “irc”)
			{ // irc소켓일 경우

이런식으로 좀더 확실하게 바꿔주었더니 잘 동작 한다.
처음의 소스를 썼을때 socket_select 의 리턴이 2이면 Connnection Refused 가 나야하는데 왜 자꾸 정상 접속인가 했더니 함수를 잘못 쓴거였다.