收录日期:2020/02/20 18:45:48 时间:2016/07/15 11:38:34 标签:Java SE
package yyw;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.text.SimpleDateFormat;
import java.util.Date;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class server  extends Thread
{
private static ServerSocket ss;
private static  Socket s;
private JTextArea rec;
private static JTextArea sen;
private JLabel label;
private JLabel label2;
static JTextField tf2;
public void addframe(JFrame frame)
{
frame.setTitle("服务端程序");
frame.setSize(600,400);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocation(100,100);
JLabel label=new JLabel("输入对方IP:");
JTextField tf=new JTextField(25);
tf.setText("127.0.0.1");
tf.setEditable(false);
JLabel label2=new JLabel("开放端口:");
JPanel p=new JPanel();
JPanel b=new JPanel();
final JTextField tf2=new JTextField(10);
tf2.setText("6000");
tf2.setEditable(false);
p.add(label);
p.add(tf);
p.add(label2);
p.add(tf2);
frame.getContentPane().add(p,"North");
final JTextArea rec=new JTextArea(30,40);
rec.setLineWrap(true);
JTextArea sen=new JTextArea(30,40);
sen.setLineWrap(true);
b.setLayout(new BorderLayout());
b.add(rec,"North");
b.add(sen,"Center");
frame.getContentPane().add(b,"Center");
JPanel u=new JPanel();
JButton send=new JButton("发送");
send.addActionListener(new ActionListener()
{

@Override
public void actionPerformed(ActionEvent e) 
{
try {
sendnews();
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}

}

}
);

JButton open=new JButton("开启服务器");
JButton close=new JButton("关闭服务器");
close.addActionListener(new ActionListener()
{

@Override
public void actionPerformed(ActionEvent e)
{
try {

ss.close();
s.close();
System.exit(0);

} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}


}

}
);
open.addActionListener(new ActionListener()
{

@Override
public void actionPerformed(ActionEvent e)
{

while(true)
{
try 
{
Socket s=ss.accept();
new server().start();
rec.append("port:"+s.getPort()+" "+"localaddress:"+s.getLocalAddress());
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}

}


}

});
u.add(open);
u.add(close);
u.add(send);
frame.getContentPane().add(u,"South");
frame.setVisible(true);




}

public static  void sendnews() throws Exception
{

OutputStream out=s.getOutputStream();
byte[] bt=sen.getText().getBytes();
out.write(bt);


}
public void run()
{
try
{
OutputStream out=s.getOutputStream();
byte[] news=".......连接服务器成功".getBytes();
out.write(news);
InputStream in=s.getInputStream();
byte[] buf=new byte[512];

while(in.read(buf)!=-1)
{
Date date=new Date();
int time=date.getHours();
SimpleDateFormat s=new SimpleDateFormat("yyyy-mm-dd HH:MM:SS");
String t=s.format(date);
String line=System.getProperty("line.separator");
    rec.append(t+""+line);
    rec.append(new String(buf));
    rec.append(line);
}


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


}


public static void main(String[] args) throws Exception
{
server ser=new server();
JFrame frame=new JFrame();
ser.addframe(frame);
//int i=Integer.parseInt(tf2.getText());
ServerSocket ss=new ServerSocket(6000);


}

}

自己写了一个服务端程序
错了好多处 自己实力不足 检查不出来 还请各位大侠帮忙解决一下
错误 提示:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at yyw.server$3.actionPerformed(server.java:114)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6216)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
at java.awt.Component.processEvent(Component.java:5981)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4583)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4413)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4556)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4220)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4150)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2475)
at java.awt.Component.dispatchEvent(Component.java:4413)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
我还没开始学, 只是看您import了这么多的类,就吓爬了。。。
呵呵 慢慢来
学的swing啊!没有学到呢!
bug太多  没法修啊楼主 

要想没有exception加一句  ss = new ServerSocket(6000); 就可以了

 try 
                            {ss = new ServerSocket(6000); 
                                Socket s=ss.accept();
                                new server().start();
                                rec.append("port:"+s.getPort()+" "+"localaddress:"+s.getLocalAddress());
                            } catch (IOException e1) {
                                // TODO Auto-generated catch block
                                e1.printStackTrace();
                            }



public static void main(String[] args) throws Exception
    {
        server ser=new server();
        JFrame frame=new JFrame();
        ser.addframe(frame);
        //int i=Integer.parseInt(tf2.getText());
       // ServerSocket ss=new ServerSocket(6000);
        
        
    }
写程序一步一步来,逐个添加功能这样程序调式起来容易,楼主的都是一些小毛病,比如说空指针。。。慢慢来吧,楼主!
ss没有初始化
唉 刚学的 还没有好的编程风格
还没学到这里来哦
哎~~~~~
写的很乱,不知道楼主想干什么?
ss初始化的位置弄错了,不应该写在main里面,应该写着类里面,可以写在open的动作里面。

一个绑定的CheckboxList, 不用循环,如何知道用户点击的是哪个Checkbox? 数据库处理程序问题 一道面试题 --!!隐藏和覆盖有区别么? DPlay编译错误 求助一个TC的问题 有尝求JCreator3.5的解破版! 使用tiles 标签 不知道怎么回事,被包含的页面总是顶不到头,始终有一个空行,如果是静态页面倒是没有什么问题 插入记录时,遇到一个错误,恳请哪位高手指点? 关于windows编程序中的几个函数问题(1),求教! 请问该使用哪种发行版的Linux? 当今中国震惊世界的二十五个第一 高手帮忙解释下这情况! 一个新闻系统(C#)在主爷显示新闻用什么方法效率比较高?请大虾帮忙,在线等。 导航条的目录内容来源于数据库,如何实现?谢谢 求助://枚举中元素的个素如何得到? 发不了全文,这样的帖子都发不出来来,是中国人的一定要顶.............http://www.frjj.com.cn/other/2005819162344.htm 安装 red hat9.0 无法启动 @#@关于MSComm发送数据, 请教高手将 VC++.net 的内容译为 Delphi 7 的代码, 在线等,帮顶有分@#@ 请高手回答,在2000下安装需要注册service程序时,报错failed to install service Check your settings and permissions 如何用代码自动修改abc.war下面的一个*.properties文件谢谢,或者怎么拷贝个一个文件夹下面的所有文件,为什么f.renameTo(File filepath) 请问一下,XP启动滚动条的时候,系统正在做什么? 欢迎加入C#和Java技术交流群:14518483 文件另存为对话框打开缓慢!求高手解决! 欢迎加入C#和Java技术交流群:14518483 许多大网站静态网页上有阅览次数?怎么弄? 将16进制字符串转为整形的函数是什么?? 欢迎加入C#和Java技术交流群:14518483 欢迎加入C#和Java技术交流群:14518483 请问如何在GDI+中实现逻辑字体(TLOGFONT)的文字旋转 欢迎加入C#和Java技术交流群:14518483