JAVA socket编程

本人刚学JAVA,在eclipse下编程Socketso=newSocket("192.168.0.1",10810);\\这是客服端erverSocketss=newS... 本人刚学JAVA,在eclipse下编程
Socket so=new Socket("192.168.0.1",10810);\\这是客服端
erverSocket ss=new ServerSocket(10810);\\服务器端
Socket so=ss.accept();
我每次运行一次就要换一个端口
不换就弹出BindException异常~这是为什么~有什么解决方法
写错勒个字母~
展开
 我来答
zhangke826817
2012-04-09
知道答主
回答量:82
采纳率:0%
帮助的人:30.1万
展开全部
这是应为你程序运行后没有关闭端口就一直占用,所以会抛端口占用异常
a30501139
2012-04-09 · TA获得超过172个赞
知道小有建树答主
回答量:523
采纳率:0%
帮助的人:259万
展开全部
public class Test {

/**
* @param args
*/
public static void main(String[] args) throws IOException {
ServerSocket ss = null;
ss = new ServerSocket(8888);
while (true) {
final Socket s = ss.accept();
new ServerThread(s).start();
}
}
}

public class ServerThread extends Thread {
private Socket s;

public ServerThread(Socket s) {
this.s = s;
}

@Override
public void run() {
InputStream in;
try {
in = s.getInputStream();
byte[] b = new byte[1024];
while (true) {
int read = in.read(b);
if (read == -1) {
s.close();
break;
} else {
System.out.println(new String(b));
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
过璞Va
2012-04-09 · TA获得超过1967个赞
知道小有建树答主
回答量:328
采纳率:100%
帮助的人:311万
展开全部
so.close()
ss.close();
程序结束后要关闭。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
it1132149920
2012-04-09 · 超过18用户采纳过TA的回答
知道答主
回答量:93
采纳率:0%
帮助的人:47万
展开全部
程序结束后把占用的端口关闭,要不然一直被占用着,无法再次使用。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友2f78d3b
2012-04-09 · TA获得超过175个赞
知道小有建树答主
回答量:302
采纳率:0%
帮助的人:156万
展开全部
调用close()方法关闭socket
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式