当前位置: 技术问答>java相关
请教怎样关闭服务器端的socket?
来源: 互联网 发布时间:2015-03-23
本文导语: 主程序把socket的各种参数传给一个Thread,在thread中打开端口,但是我怎么在主程序中关闭这个socket呢? 还有我想知道怎么才能知道当前没有任何客户端连接? 谢谢了! | import java.io.*; import ...
主程序把socket的各种参数传给一个Thread,在thread中打开端口,但是我怎么在主程序中关闭这个socket呢?
还有我想知道怎么才能知道当前没有任何客户端连接?
谢谢了!
还有我想知道怎么才能知道当前没有任何客户端连接?
谢谢了!
|
import java.io.*;
import java.util.*;
import java.net.*;
class TCPCCSocket extends Thread
{
private Socket CCSocket;
TCPCCSocket (Socket cs)
{
CCSocket = cs;
}
public void start()
{
System.out.println("Starting CCS...");
super.start();
}
public void closeSocket()
{
try
{
System.out.println("Close CCS...");
super.stop();
CCSocket.close();
}
catch(IOException exClose)
{
System.out.println("Error When Close CCS ...");
exClose.printStackTrace();
}
}
public void run()
{
System.out.println("Running CCS...");
System.out.println(toString());
byte[] readingByte = { 0 };
try
{
while(readingByte[0] != -1)
{
readingByte[0] = (byte)CCSocket.getInputStream().read();
CCSocket.getOutputStream().write(readingByte[0]);
}
}
catch(IOException exEcho)
{
System.out.println("Error When Echo CCS ...");
}
try
{
CCSocket.close();
}
catch(IOException exClose)
{
System.out.println("Error When Close CCS ...");
exClose.printStackTrace();
}
System.out.println("End Running CCS...");
super.stop();
}
}
import java.util.*;
import java.net.*;
class TCPCCSocket extends Thread
{
private Socket CCSocket;
TCPCCSocket (Socket cs)
{
CCSocket = cs;
}
public void start()
{
System.out.println("Starting CCS...");
super.start();
}
public void closeSocket()
{
try
{
System.out.println("Close CCS...");
super.stop();
CCSocket.close();
}
catch(IOException exClose)
{
System.out.println("Error When Close CCS ...");
exClose.printStackTrace();
}
}
public void run()
{
System.out.println("Running CCS...");
System.out.println(toString());
byte[] readingByte = { 0 };
try
{
while(readingByte[0] != -1)
{
readingByte[0] = (byte)CCSocket.getInputStream().read();
CCSocket.getOutputStream().write(readingByte[0]);
}
}
catch(IOException exEcho)
{
System.out.println("Error When Echo CCS ...");
}
try
{
CCSocket.close();
}
catch(IOException exClose)
{
System.out.println("Error When Close CCS ...");
exClose.printStackTrace();
}
System.out.println("End Running CCS...");
super.stop();
}
}
|
可以通过在服务器端对打开的socket连结数判断当前是否有客户端连接