| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 820 人关注过本帖, 1 人收藏
标题:为什么服务器不能接受客户端传来的数据的?
取消只看楼主 加入收藏
梦自在
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2007-3-26
收藏(1)
 问题点数:0 回复次数:1 
为什么服务器不能接受客户端传来的数据的?
为什么我服务器段不能得到从客户端传来的数据(我出1剪刀),就是控制台不能输出数据,只输出了在线人数.
帮忙看看接受数据的那里哪里出错了。谢谢啦 、
还有我在我主机上面输127.0.0.1可以连接,但是输我在外界的IP没反应啊 ,还有如果在局域网中,我想用我旁边的电脑打开测试,我的电脑是服务器,那我IP应该设多少,。设我在外界的IP没反应啊 。


下面是服务器端:

import *;
import *;
import java.util.*;
public class Server4{
    private ServerSocket server;
    Vector sManager=new Vector();
    Random rnd=new Random();
    public Server4(){};
    void startServer(){
        try{
            server=new ServerSocket(8888);
            System.out.println("服务器套接字已创建成功");
            while(true){
                Socket socket=server.accept();
                System.out.println("已与客户机建立连接");
                new KBBCom_Thread(socket).start();
                sManager.add(socket);
                System.out.println("当前客户机连接数:"+sManager.size());
                
            }
        }catch(Exception e){}
            
    }
    public static void main(String[] args){
        Server4 server=new Server4();
        server.startServer();
    }

class KBBCom_Thread extends Thread{
    Socket socket;
    private DataInputStream reader;
    private DataOutputStream writer;
    KBBCom_Thread(Socket socket){
        this.socket=socket;
    }
    public void run(){
        try{
            reader=new DataInputStream(socket.getInputStream());
            writer=new DataOutputStream(socket.getOutputStream());
            String msg;
            while((msg=reader.readUTF())!=null){
                writer.writeUTF(rnd.nextInt(3)+"\n");
                writer.flush();
                System.out.println("来自客户机:"+msg);
            }
        }catch(Exception e){}finally{
            try
            {
                sManager.remove(socket);
                if(reader!=null) reader=null;
                if(writer!=null) writer=null;
                if(socket!=null) socket=null;
                reader=null;
                writer=null;
                socket=null;
                System.out.println("客户机离开");
                System.out.println("当前客户机的连接数:"+sManager.size());
            }catch(Exception e){}
        }
    }
}
}

[[it] 本帖最后由 梦自在 于 2008-3-27 17:53 编辑 [/it]]
搜索更多相关主题的帖子: 服务器 客户端 局域网 数据 
2008-03-27 17:52
梦自在
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2007-3-26
收藏
得分:0 
顶一下

http://blog./adreamstar/
2008-03-28 11:29
快速回复:为什么服务器不能接受客户端传来的数据的?
数据加载中...
 
   



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

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