先说2吧,你的程序段执行完了后,所有的socket都没有关闭,如果没猜错的话你的异常应该说得就是这个。其实你的程序只有在一个时间点是监听的(accept)。按你的意思,应该写在 while (true){//这里}!!!:).那么第一个问题我猜因该是你执行了一次后,端口被占用了!!,那么你的二个问题也可能抛出异常。呵呵!!