Socket TCP Server端启动不了

lastapplet 2009-05-24 12:01:41
各位大虾,小弟正在学习socket,写了一个简单的程序,但是Server端运行不起来,代码如下,请牛人帮忙!
小弟这厢有礼了。。。
import java.io.*;
import java.net.*;

public class Server {

ServerSocket ss = null;

public static void main(String[] args) {
// TODO Auto-generated method stub
new Server().start();
}

public void start() {

try {
ss = new ServerSocket(8888);
//started = true;
} catch (BindException e) {
System.out.println("端口使用中,请关闭相关程序,并重新启动服务器!");
System.exit(0);
} catch (IOException e) {
e.printStackTrace();
}
}

public void send(String str) {

}

}
...全文
270 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lastapplet 2009-05-25
  • 打赏
  • 举报
回复
谢谢springcb了!就是你说的原因。
springcb 2009-05-24
  • 打赏
  • 举报
回复
哦,刚才写错了,把start方法中的Socket socket = ss.accept();这一句放到while循环里面
springcb 2009-05-24
  • 打赏
  • 举报
回复
你这个仅仅只是启动的服务器端,并没有让他监听客户端,所以在服务器端必须有一个线程来处理客户端的请求,在你的start方法中,要加这样一句话:

public void start() {

try {
ss = new ServerSocket(8888);
started = true;
Socket socket = ss.accept();
while(started)
{
new Thread(new Client(socket)).start();//启动一个线程
}

//started = true;
} catch (BindException e) {
System.out.println("端口使用中,请关闭相关程序,并重新启动服务器!");
System.exit(0);
} catch (IOException e) {
e.printStackTrace();
}
}

private class Client implements Runnable
{
Socket soc;

public Client(Socket soc)
{
this.soc = soc;
}

public void run()
{}
}

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧