任何人都可以帮我理解这段代码。这是从我从googlecode获取的android的IPCamera中获取的。我想弄清楚的代码是:
public NanoHTTPD( int port, File wwwroot ) throws IOException
{
myTcpPort = port;
this.myRootDir = wwwroot;
myServerSocket = new ServerSocket( myTcpPort );
myThread = new Thread( new Runnable()
{
public void run()
{
try
{
while( true )
new HTTPSession( myServerSocket.accept());
}
catch ( IOException ioe )
{}
}
});
myThread.setDaemon( true );
myThread.start();
}
private class HTTPSession implements Runnable
{
public HTTPSession( Socket s )
{
mySocket = s;
Thread t = new Thread( this );
t.setDaemon( true );
t.start();
}
public void run()
{
try
{
InputStream is = mySocket.getInputStream();
if ( is == null) return;
我想知道的事情。请告诉我,如果我理解错误:
1- myServerSocket.accept()
此代码将返回什么?布尔值,如果为真或假?
2- InputStream is = mySocket.getInputStream();
输入流是获取字节流。但该程序在mySocket上读到了什么。根据我的理解,它读取端口号。与mySocket有什么关系来获取字节?
我真的很抱歉,如果我的理解是完全错误的,因为socket不是我的知识。请帮助我了解更多相关信息。
答案 0 :(得分:2)
这是ServerSocket的accept() method
等待传入的请求并阻塞,直到连接打开。
和
返回
表示套接字的连接。
返回从此套接字读取数据的输入流。
您可能想要阅读套接字和流。
这是Java的教程All About Sockets。