
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异常~这是为什么~有什么解决方法
写错勒个字母~ 展开
Socket so=new Socket("192.168.0.1",10810);\\这是客服端
erverSocket ss=new ServerSocket(10810);\\服务器端
Socket so=ss.accept();
我每次运行一次就要换一个端口
不换就弹出BindException异常~这是为什么~有什么解决方法
写错勒个字母~ 展开
展开全部
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();
}
}
}
/**
* @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();
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
so.close()
ss.close();
程序结束后要关闭。
ss.close();
程序结束后要关闭。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
程序结束后把占用的端口关闭,要不然一直被占用着,无法再次使用。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
调用close()方法关闭socket
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询