免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3947 | 回复: 10
打印 上一主题 下一主题

java Socket编程问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-12-14 13:31 |只看该作者 |倒序浏览
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.ArrayList;
import java.util.StringTokenizer;

       
        public class cc {
       
        public static void main(String[] args) throws IOException{
               
                ServerSocket server=new ServerSocket(9997);  //在端口9999上注册服务
               
                Socket client=server.accept();       // 监听窗口,等待连接
       
                BufferedReader in=new BufferedReader(new InputStreamReader(client.getInputStream()));
       
        //DataBaseConnection abc = new DataBaseConnection();

        while(true){
                  
               
                String str=in.readLine();
               
                System.out.println(str);
               
                StringTokenizer token = new StringTokenizer(str ,";");
               
                System.out.println(str);
               
                String first=token.nextToken();//手机号
               
                System.out.println(first);
               
                String second=token.nextToken();//消息内容
               
                System.out.println(second);               
                }
        }
}




做了一个往端口发信息的程序 先连接服务器端口9997 显示连接成功  然后发送信息 123456789;aaaaaa  
程序没反应 我点断开后程序才显示
123456789;aaaaaa
123456789;aaaaaa
123456789
aaaaaa
null
断开后程序也停止了

Exception in thread "main" java.lang.NullPointerException
        at java.util.StringTokenizer.<init>(Unknown Source)
                at java.util.StringTokenizer.<init>(Unknown Source)
        at qq.cc.main(cc.java:35)



望各位高手指教如何修改 不用断开也能显示结果!因为是一直监听,有消息就报警!不知道如此表达各位高手能理解么!原谅我这个小菜鸟

论坛徽章:
0
2 [报告]
发表于 2009-12-14 14:36 |只看该作者
怎么没人呀!是我说的不清楚?

论坛徽章:
0
3 [报告]
发表于 2009-12-14 14:53 |只看该作者
public static void main(String[] args) throws IOException{

你试试这里直接抛Exception

我也是菜鸟。。

论坛徽章:
0
4 [报告]
发表于 2009-12-14 15:05 |只看该作者
试了  一样哦。。  还是感谢你

论坛徽章:
0
5 [报告]
发表于 2009-12-14 20:25 |只看该作者
然后发送信息 123456789;aaaaaa  
程序没反应 我点断开后程序才显示



发送方需要flush

论坛徽章:
0
6 [报告]
发表于 2009-12-15 08:27 |只看该作者
原帖由 ruknow 于 2009-12-14 20:25 发表



发送方需要flush




怎么flush  能说的详细点吗? 谢谢高手~

论坛徽章:
0
7 [报告]
发表于 2009-12-15 12:08 |只看该作者
你客户端是怎么发的呀?

论坛徽章:
0
8 [报告]
发表于 2009-12-15 13:03 |只看该作者
发送方应该是送一个带回车符的字符串才成。
你最好把客户端的代码也弄出来。
应该没有太大的问题。

论坛徽章:
0
9 [报告]
发表于 2009-12-15 13:41 |只看该作者
我是做个监控端口有没有消息发来然后写入数据库的,和客户端应该没什么问题
客户端就是往本机的9997端口发送了这么一条消息123456789;aaaaaa

论坛徽章:
0
10 [报告]
发表于 2009-12-15 14:42 |只看该作者
测试这个程序没有问题,客户端有问题,
我是这么测试的
  1 启动java程序
  2 telnet localhost 9997
  3 再telnet那个窗口输入测试数据 123456789;aaaaaa 测试正常
  我用的 是 jdk1.6 windows xp
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP