声明变量
protected Socket fileSocket;
protected OutputStream os;
fileSocket = new Socket(host, port + 1);
os = fileSocket.getOutputStream();
并在下一个代码中使用
File file;
FileInputStream fis;
int readBytes;
try
{
if(fileSocket.isOutputShutdown())
{
fileSocket.setKeepAlive(true);//this line
}
sendToServer(message);
bufFileName = message.toCharArray();
fileName = new String(bufFileName, 6, bufFileName.length - 6);
file = new File(fileName);
fis = new FileInputStream(file);
while ((readBytes = fis.read()) != -1)
{
os.write(readBytes);
os.flush();
}
fileSocket.shutdownOutput();
fis.close();
clientUI.display("Trans complete");
我发送文件并关闭fileSocket 我想重用filesocket,但找不到合适的方法。 我应该采取什么方法或操作?
答案 0 :(得分:2)
只是实例化一个新套接字。您不能使用已经关闭的套接字。这就是想尝试对你已经关闭的文件流进行文件操作。
答案 1 :(得分:0)
setKeepAlive()不符合您的想法。一旦关闭了套接字上的输出,就不能再在套接字上做输出了。一旦你关闭它,你根本无法重复使用它。