求救!小弟写了一个java的服务端部分,但是无法正常关闭。
来源:互联网 发布:无线路由访客网络 编辑:程序博客网 时间:2024/05/16 10:32
写了一个socket服务端程序,但是加入界面之后,程序关闭之后端口一直无法关闭。好像是socket端口关闭有问题,求修正方法源程序如下code=Java]import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.net.*;
import java.io.*;
import javax.swing.JOptionPane;
public class Se1 extends WindowAdapter implements ActionListener {
private ServerSocket server;
private Socket socket;
private BufferedReader in;
private PrintWriter out;
JFrame f;
JPanel p;
JButton b1, b2, b3;
JTextField tf;
public Se1() {
f = new JFrame("Socked Server");
b1 = new JButton("Agree!");
b1.setActionCommand("agree");
b1.addActionListener(this);
b2 = new JButton("Disagree!");
b2.setActionCommand("disagree");
b2.addActionListener(this);
b3 = new JButton("Connect!");
b3.setActionCommand("connect");
b3.addActionListener(this);
p = new JPanel();
p.add(b1);
p.add(b2);
p.add(b3);
f.getContentPane().add(p, "North");
tf = new JTextField();
f.getContentPane().add(tf, "Center");
f.setSize(400, 150);
f.setVisible(true);
try {
server = new ServerSocket(10000);
while (true) {
socket = server.accept();
String RemoteIp = socket.getInetAddress().getHostAddress();
String RemotePort = " : " + socket.getLocalPort();
tf.setText("有学生想申请使用投影仪! IP: " + RemoteIp + " Port"
+ RemotePort);
in = new BufferedReader(new InputStreamReader(socket
.getInputStream()));
out = new PrintWriter(socket.getOutputStream());
String line = in.readLine();
String[] student = line.split(",");
tf.setText("该学生名字: " + student[0] + " 座位号: " + student[1]
+ "\n" + " 是否允许该学生使用投影仪?");
// System.out.println("该学生名字 : " + line);
// out.println("your message received " );
// String st = JOptionPane.showInputDialog("permit or not ?");
// System.out.println("是否允许该学生使用投影仪?");
// BufferedReader st = new BufferedReader(new
// InputStreamReader(System.in));
//
// out.println(st.readLine());
//
// out.close();
// in.close();
// socket.close();
}
} catch (IOException ex) {
out.println("出错");
}
}
public static void main(String[] args) {
Server be = new Server();
// be.Server();
}
public void actionPerformed(ActionEvent e) {
String s1 = "同意请求!", s5 = "本机连接";
String s2 = "拒绝请求!";
String s3 = "yes", s4 = "no";
if (e.getActionCommand() == "agree") {
tf.setText(s1);
out.println(s3);
// out.close();
} else if (e.getActionCommand() == "disagree") {
tf.setText(s2);
out.println(s4);
// out.close();
} else if (e.getActionCommand() == "connect") {
java.lang.Process pro = null;
Runtime rt = Runtime.getRuntime();
tf.setText("本机打开投影仪");
String s = "\"C:\\NSC.exe\"";
try {
pro = rt.exec(s);
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
/*public void windowClosed(WindowEvent e) {
try {
in.close();
out.close();
socket.close();
} catch (IOException ex) {
out.println("出错");
}
System.exit(0);
}*/
}
[/code]
import java.awt.event.*;
import javax.swing.*;
import java.net.*;
import java.io.*;
import javax.swing.JOptionPane;
public class Se1 extends WindowAdapter implements ActionListener {
private ServerSocket server;
private Socket socket;
private BufferedReader in;
private PrintWriter out;
JFrame f;
JPanel p;
JButton b1, b2, b3;
JTextField tf;
public Se1() {
f = new JFrame("Socked Server");
b1 = new JButton("Agree!");
b1.setActionCommand("agree");
b1.addActionListener(this);
b2 = new JButton("Disagree!");
b2.setActionCommand("disagree");
b2.addActionListener(this);
b3 = new JButton("Connect!");
b3.setActionCommand("connect");
b3.addActionListener(this);
p = new JPanel();
p.add(b1);
p.add(b2);
p.add(b3);
f.getContentPane().add(p, "North");
tf = new JTextField();
f.getContentPane().add(tf, "Center");
f.setSize(400, 150);
f.setVisible(true);
try {
server = new ServerSocket(10000);
while (true) {
socket = server.accept();
String RemoteIp = socket.getInetAddress().getHostAddress();
String RemotePort = " : " + socket.getLocalPort();
tf.setText("有学生想申请使用投影仪! IP: " + RemoteIp + " Port"
+ RemotePort);
in = new BufferedReader(new InputStreamReader(socket
.getInputStream()));
out = new PrintWriter(socket.getOutputStream());
String line = in.readLine();
String[] student = line.split(",");
tf.setText("该学生名字: " + student[0] + " 座位号: " + student[1]
+ "\n" + " 是否允许该学生使用投影仪?");
// System.out.println("该学生名字 : " + line);
// out.println("your message received " );
// String st = JOptionPane.showInputDialog("permit or not ?");
// System.out.println("是否允许该学生使用投影仪?");
// BufferedReader st = new BufferedReader(new
// InputStreamReader(System.in));
//
// out.println(st.readLine());
//
// out.close();
// in.close();
// socket.close();
}
} catch (IOException ex) {
out.println("出错");
}
}
public static void main(String[] args) {
Server be = new Server();
// be.Server();
}
public void actionPerformed(ActionEvent e) {
String s1 = "同意请求!", s5 = "本机连接";
String s2 = "拒绝请求!";
String s3 = "yes", s4 = "no";
if (e.getActionCommand() == "agree") {
tf.setText(s1);
out.println(s3);
// out.close();
} else if (e.getActionCommand() == "disagree") {
tf.setText(s2);
out.println(s4);
// out.close();
} else if (e.getActionCommand() == "connect") {
java.lang.Process pro = null;
Runtime rt = Runtime.getRuntime();
tf.setText("本机打开投影仪");
String s = "\"C:\\NSC.exe\"";
try {
pro = rt.exec(s);
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
/*public void windowClosed(WindowEvent e) {
try {
in.close();
out.close();
socket.close();
} catch (IOException ex) {
out.println("出错");
}
System.exit(0);
}*/
}
[/code]
0 0
- 求救!小弟写了一个java的服务端部分,但是无法正常关闭。
- 一个 java 小弟的迷茫
- 今天我的一个小弟离开了
- 在eclipse中可以正常运行,但是打包之后就无法通过java运行了
- 用css设置了背景图片但是无法正常显示
- 随手写了一个简单的socket服务端和客户端
- 我用vs2005写了一个webservice用来查询sql2005数据库中表值,返回一个dataset类型集合,测试时候显示的xml文档没有问题,但是当我添加web引用的时候却无法正常显示而且报错原因之一。
- 数据库无法正常关闭的处理步骤
- 调用部署在本机IIS服务器的WCF服务并返回数据DataTable,一直报错:远程主机强迫关闭了一个现有的连接,但是服务访问正常
- Tomcat无法正常关闭
- Tomcat无法正常关闭
- MongoDB无法正常关闭
- CLOSE_WAIT导致服务端无法正常连接(JAVA、SOCKET相关)
- Tomcat启动正常 ,但是无法加载已经部署的项目
- 求救:C# 调用JAVA写的WEBSERVICE的问题!
- JAVA NIO导致JAVA服务端程序无法关闭的奇怪问题
- 一个基于对话框的程序添加了许多控件,但是无法建立对应的成员变量
- Java用NIO写一个通讯服务端
- 基础问题!jbuilder不能运行j2me!
- 求socket例子(C#)
- 请教大家是如何将图片变的更小的?
- 请教一个获取对话框句柄的问题
- J2ME 调用faceapi 的API Java版本
- 求救!小弟写了一个java的服务端部分,但是无法正常关闭。
- 在IIS上,二级域名如何绑定一个文件夹呀
- textfield高度问题
- 想给客户做一张光盘,里面的说明文档用asp做网页文件,如何让没有iis的客户机子能正常打开?
- 求在windows phone【点击统计】方法
- 个位大虾帮忙看一下,小弟实在太菜了,在此谢过~~~~~~~~
- 算则mobile6.0编译的时候报错,选择PPC2003又没有问题,很郁闷
- 如何便得文件夹中文件与数据表记录中保持一致?谢谢各位了
- 如何点击按纽后将查看这个网页所用的时间记录到数据库里去?