标题:socket serversocker
只看楼主
trhuang
Rank: 1
等 级:新手上路
帖 子:126
专家分:0
注 册:2007-4-1
 问题点数:0 回复次数:8 
socket serversocker

我用socket serversocker做一个类似通讯器的东西,用new 一个serversocket(5000)做监听时,第一次运行是正常,第2次运行开始就不行了,要换一个端口好才行!
本来想把我的程序贴上来.不过太乱了..
我的问题如果明白我的意思的话就帮下忙!

搜索更多相关主题的帖子: socket serversocker 通讯器 端口 new 
2007-06-08 14:29
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
得分:0 
你没有关闭ServerSocket的端口,当前就不行了


可惜不是你,陪我到最后
2007-06-08 15:41
trhuang
Rank: 1
等 级:新手上路
帖 子:126
专家分:0
注 册:2007-4-1
得分:0 

程序关了.还不行吗??

2007-06-08 18:23
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
得分:0 
程序关了就可以了

有些界面的程序,你关了窗口,其实JVM还在运行

你去任务管理器看看java.exe或者javaw.exe有没有在运行

可惜不是你,陪我到最后
2007-06-08 18:45
trhuang
Rank: 1
等 级:新手上路
帖 子:126
专家分:0
注 册:2007-4-1
得分:0 

public class s {
ServerSocket server;
Socket sock;
DataInputStream in;
DataOutputStream out;
public s()
{
try{
server=new ServerSocket(6000);
System.out.println("wait");

sock=server.accept() ;
out=new DataOutputStream(sock.getOutputStream() );
out.writeUTF("server");
System.out.println("ok");


while(true){
String income;

in=new DataInputStream(sock.getInputStream());
System.out.println("...");

System.out.print(in.readUTF());//这里的in.readUTF()当没输入流进来时不是应该不运行才对吗?
//直到有新的输入流进才继续?这里跟我想的有点不同,不知为什么?


}
}
catch(Exception e){e.printStackTrace();}





}

public static void main(String[] args) {
new s();

}
}

2007-06-08 21:30
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
得分:0 
程序没什么明显的错误啊

可惜不是你,陪我到最后
2007-06-08 21:57
trhuang
Rank: 1
等 级:新手上路
帖 子:126
专家分:0
注 册:2007-4-1
得分:0 

我是在eclipse上运行的,以前在我在记事本上也做过,也没出现什么问题,在eclipse是就这样!
错误提示:
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:168)
at java.net.SocketInputStream.read(SocketInputStream.java:182)
at java.io.DataInputStream.readUnsignedShort(DataInputStream.java:320)
at java.io.DataInputStream.readUTF(DataInputStream.java:572)
at java.io.DataInputStream.readUTF(DataInputStream.java:547)
at s.<init>(s.java:39)
at s.main(s.java:60)

2007-06-08 22:15
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
得分:0 
那是你的客户机没有写好吧

可惜不是你,陪我到最后
2007-06-08 23:06
食恶不色
Rank: 2
等 级:新手上路
威 望:3
帖 子:632
专家分:5
注 册:2006-11-8
得分:0 
在EC下面有个Console有个方块的按钮(在右边)如果是红色的就会出现你说的。
解决的方法就是按下红色方块那个按钮。就可以解决

做人要厚道,看帖要回帖!回帖是尊重,回帖是美德! 美德要发扬,我们要顶帖!顶帖是好事,千万莫灌水!
2007-06-09 12:13



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-145917-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.429164 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved