
在java中。Socket so = ss.accept()这句好怎么理解?特别是Socket so
importjava.io.*;importjava.net.*;publicclassTCPserver{publicstaticvoidmain(String[]ar...
import java.io.*;
import java.net.*;
public class TCPserver{
public static void main(String[] args) throws Exception{
ServerSocket ss = new ServerSocket(6666);
while(true){
Socket so = ss.accept();
InputStream s = so.getInputStream();
DataInputStream d = new DataInputStream(s);
System.out.println(d.readUTF());
so.close();
d.close();
}
}
} 展开
import java.net.*;
public class TCPserver{
public static void main(String[] args) throws Exception{
ServerSocket ss = new ServerSocket(6666);
while(true){
Socket so = ss.accept();
InputStream s = so.getInputStream();
DataInputStream d = new DataInputStream(s);
System.out.println(d.readUTF());
so.close();
d.close();
}
}
} 展开
展开全部
ServerSocket ss是一个监听程序,调用accept()方法开始监听,当有连接接过来的时候
这个监听程序将收到并包装成Socket对象传递回来,以上程序使用变量Socket so来接收这个返回对象。
这个监听程序将收到并包装成Socket对象传递回来,以上程序使用变量Socket so来接收这个返回对象。
更多追问追答
追问
这里的Socket属于客户端还是服务器端?
追答
都不是,属于客户端和服务器端一个建立好得连接,直接可以利用这个连接进行通讯了。
展开全部
ServerSocket ss = new ServerSocket(6666);是监听端口号6666
程序运行到Socket so = ss.accept();时,如果没有客户端连接,通过accept()阻塞程序等待请求,不再向下运行,直到有客户端连接了,就得到Socket对象,并且程序继续向下运行。
至于Socket so,这个。。。没什么特别的啊,就是声明一个Socket对象,so是变量名啊。。。
程序运行到Socket so = ss.accept();时,如果没有客户端连接,通过accept()阻塞程序等待请求,不再向下运行,直到有客户端连接了,就得到Socket对象,并且程序继续向下运行。
至于Socket so,这个。。。没什么特别的啊,就是声明一个Socket对象,so是变量名啊。。。
更多追问追答
追问
ss.getInetAddress() 是返回谁的IP? 服务器端不是ServerSocket吗 怎么会有Socket
追答
Socket中有发出请求的客户端的一些信息,如果客户端发出请求时向Socket中存入了一些值或者文件之类的信息,在服务端就能通过Socke得到。比如在做向服务器上传文件的功能时,服务端怎么得到客户端上传的内容呢,就是通过Socket获取的。
getInetAddress()这个方法没怎么用过,不过通过字面的意思应该是返回服务端的IP,你可以输出测试一下,就知道了~~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有异常,为啥不抓取异常机制。
更多追问追答
追问
我不是已经 throws 了吗
追答
看java的TDK,然后多写,多分析,多做实验,你的帮手就是金山词霸
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询