在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();
}
}
}
展开
 我来答
luoxuanjin
2011-09-26 · TA获得超过252个赞
知道小有建树答主
回答量:156
采纳率:0%
帮助的人:178万
展开全部
ServerSocket ss是一个监听程序,调用accept()方法开始监听,当有连接接过来的时候
这个监听程序将收到并包装成Socket对象传递回来,以上程序使用变量Socket so来接收这个返回对象。
更多追问追答
追问
这里的Socket属于客户端还是服务器端?
追答
都不是,属于客户端和服务器端一个建立好得连接,直接可以利用这个连接进行通讯了。
百度网友259e5f98d
2011-09-26
知道答主
回答量:31
采纳率:0%
帮助的人:23.2万
展开全部
ServerSocket ss = new ServerSocket(6666);是监听端口号6666
程序运行到Socket so = ss.accept();时,如果没有客户端连接,通过accept()阻塞程序等待请求,不再向下运行,直到有客户端连接了,就得到Socket对象,并且程序继续向下运行。
至于Socket so,这个。。。没什么特别的啊,就是声明一个Socket对象,so是变量名啊。。。
更多追问追答
追问
ss.getInetAddress()   是返回谁的IP?       服务器端不是ServerSocket吗 怎么会有Socket
追答
Socket中有发出请求的客户端的一些信息,如果客户端发出请求时向Socket中存入了一些值或者文件之类的信息,在服务端就能通过Socke得到。比如在做向服务器上传文件的功能时,服务端怎么得到客户端上传的内容呢,就是通过Socket获取的。
getInetAddress()这个方法没怎么用过,不过通过字面的意思应该是返回服务端的IP,你可以输出测试一下,就知道了~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
七巧手作手工
2011-09-26 · TA获得超过433个赞
知道小有建树答主
回答量:291
采纳率:0%
帮助的人:70.1万
展开全部
有异常,为啥不抓取异常机制。
更多追问追答
追问
我不是已经 throws 了吗
追答
看java的TDK,然后多写,多分析,多做实验,你的帮手就是金山词霸
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式