一个Socket服务的例子! 请高手指点无法捕捉的输出如何修改?
来源:互联网 发布:知乎实现梦想后 编辑:程序博客网 时间:2024/05/01 07:17
导读:
一个Socket服务的例子!
请高手指点无法捕捉的输出如何修改?
//服务端
package org.dyol.net;
import java.net.*;
import java.io.*;
import java.util.*;
public class Console {
public static void main(String args[]){
if (args.length!=1)
throw new IllegalArgumentException("unlawful number of args:/nUSER:/n/tConsole /n");
new Console(Integer.parseInt(args[0]));
}
public Console(int port){
this.port = port;
try {
ServerSocket socket = new ServerSocket(port);
System.out.println("Start service on "+port);
while(true){
new Transmit(socket.accept()).start();
}
}catch (IOException e){}
}
private class Transmit extends Thread {
private String sys = System.getProperty("os.name")+" "+System.getProperty("os.arch")+" "+System.getProperty("os.version");
private Socket sock;
public Transmit(Socket sock){
this.sock = sock;
try {
input = new BufferedReader(new InputStreamReader(sock.getInputStream(),"gb2312"));
output = new PrintStream(sock.getOutputStream());
output.println(sys);
}catch(Exception e){}
}
public void run(){
System.out.println("");
}
}
private int port = 520;
private BufferedReader input;
private PrintStream output;
private String cmd;
private Process proc;
private String msg;
private BufferedReader dis ;
}
//客户端
import java.io.*;
import java.net.*;
public class Client {
public static void main(String[] args){
if (args.length != 2)
throw new IllegalArgumentException("Wrong number of args");
String host = args[0];
int port = Integer.parseInt(args[1]);
new Client(host, port);
}
public Client(String host,int port){
try {
Socket s = new Socket(host, port);
final BufferedReader echo=new BufferedReader(new InputStreamReader(s.getInputStream(),"gb2312"));
PrintWriter ps = new PrintWriter(s.getOutputStream());
BufferedReader cmd = new BufferedReader(new InputStreamReader(System.in,"gb2312"));
final PrintWriter pis = new PrintWriter(System.out, true);
pis.println("Connected to "+s.getInetAddress()+":" + s.getPort());
Thread t = new Thread() {
public void run() {
char[] buffer = new char[1024];
int ch;
try {
while((ch = echo.read(buffer)) != -1) {
for(int i = 0; i if (buffer[i] == '/n') pis.println();
else pis.print(buffer[i]);
}
pis.flush();
}
}catch (IOException e){
pis.println(e);
}
pis.println("Connection closed by server.");
System.exit(0);
}
};
t.setPriority(Thread.currentThread().getPriority() + 1);
t.start();
String line;
while((line = cmd.readLine()) != null) {
ps.print(line + "/n");
ps.flush();
}
s.close();
pis.println("Connection closed by client.");
System.exit(0);
}catch (Exception e) {}
}
}
一个Socket服务的例子! 请高手指点无法捕捉的输出如何修改? //服务端 package org.dyol.net; import java.net.*; import java.io.*; import java.util.*; public class Console { public static void main(String args[]){ if (args.length!=1) throw new IllegalArgumentException("unlawful number of args:/nUSER:/n/tConsole /n"); new Console(Integer.parseInt(args[0])); } public Console(int port){ this.port = port; try { ServerSocket socket = new ServerSocket(port); System.out.println("Start service on "+port); while(true){ new Transmit(socket.accept()).start(); } }catch (IOException e){} } private class Transmit extends Thread { private String sys = System.getProperty("os.name")+" "+System.getProperty("os.arch")+" "+System.getProperty("os.version"); private Socket sock; public Transmit(Socket sock){ this.sock = sock; try { input = new BufferedReader(new InputStreamReader(sock.getInputStream(),"gb2312")); output = new PrintStream(sock.getOutputStream()); output.println(sys); }catch(Exception e){} } public void run(){ System.out.println(""); } } private int port = 520; private BufferedReader input; private PrintStream output; private String cmd; private Process proc; private String msg; private BufferedReader dis ;} //客户端 import java.io.*; import java.net.*; public class Client { public static void main(String[] args){ if (args.length != 2) throw new IllegalArgumentException("Wrong number of args"); String host = args[0]; int port = Integer.parseInt(args[1]); new Client(host, port); } public Client(String host,int port){ try { Socket s = new Socket(host, port); final BufferedReader echo=new BufferedReader(new InputStreamReader(s.getInputStream(),"gb2312")); PrintWriter ps = new PrintWriter(s.getOutputStream()); BufferedReader cmd = new BufferedReader(new InputStreamReader(System.in,"gb2312")); final PrintWriter pis = new PrintWriter(System.out, true); pis.println("Connected to "+s.getInetAddress()+":" + s.getPort()); Thread t = new Thread() { public void run() { char[] buffer = new char[1024]; int ch; try { while((ch = echo.read(buffer)) != -1) { for(int i = 0; i
本文转自
http://www.cn-java.com/www1/?action-viewnews-itemid-2717
一个Socket服务的例子!
请高手指点无法捕捉的输出如何修改?
//服务端
package org.dyol.net;
import java.net.*;
import java.io.*;
import java.util.*;
public class Console {
public static void main(String args[]){
if (args.length!=1)
throw new IllegalArgumentException("unlawful number of args:/nUSER:/n/tConsole /n");
new Console(Integer.parseInt(args[0]));
}
public Console(int port){
this.port = port;
try {
ServerSocket socket = new ServerSocket(port);
System.out.println("Start service on "+port);
while(true){
new Transmit(socket.accept()).start();
}
}catch (IOException e){}
}
private class Transmit extends Thread {
private String sys = System.getProperty("os.name")+" "+System.getProperty("os.arch")+" "+System.getProperty("os.version");
private Socket sock;
public Transmit(Socket sock){
this.sock = sock;
try {
input = new BufferedReader(new InputStreamReader(sock.getInputStream(),"gb2312"));
output = new PrintStream(sock.getOutputStream());
output.println(sys);
}catch(Exception e){}
}
public void run(){
System.out.println("");
}
}
private int port = 520;
private BufferedReader input;
private PrintStream output;
private String cmd;
private Process proc;
private String msg;
private BufferedReader dis ;
}
//客户端
import java.io.*;
import java.net.*;
public class Client {
public static void main(String[] args){
if (args.length != 2)
throw new IllegalArgumentException("Wrong number of args");
String host = args[0];
int port = Integer.parseInt(args[1]);
new Client(host, port);
}
public Client(String host,int port){
try {
Socket s = new Socket(host, port);
final BufferedReader echo=new BufferedReader(new InputStreamReader(s.getInputStream(),"gb2312"));
PrintWriter ps = new PrintWriter(s.getOutputStream());
BufferedReader cmd = new BufferedReader(new InputStreamReader(System.in,"gb2312"));
final PrintWriter pis = new PrintWriter(System.out, true);
pis.println("Connected to "+s.getInetAddress()+":" + s.getPort());
Thread t = new Thread() {
public void run() {
char[] buffer = new char[1024];
int ch;
try {
while((ch = echo.read(buffer)) != -1) {
for(int i = 0; i
else pis.print(buffer[i]);
}
pis.flush();
}
}catch (IOException e){
pis.println(e);
}
pis.println("Connection closed by server.");
System.exit(0);
}
};
t.setPriority(Thread.currentThread().getPriority() + 1);
t.start();
String line;
while((line = cmd.readLine()) != null) {
ps.print(line + "/n");
ps.flush();
}
s.close();
pis.println("Connection closed by client.");
System.exit(0);
}catch (Exception e) {}
}
}
一个Socket服务的例子! 请高手指点无法捕捉的输出如何修改? //服务端 package org.dyol.net; import java.net.*; import java.io.*; import java.util.*; public class Console { public static void main(String args[]){ if (args.length!=1) throw new IllegalArgumentException("unlawful number of args:/nUSER:/n/tConsole /n"); new Console(Integer.parseInt(args[0])); } public Console(int port){ this.port = port; try { ServerSocket socket = new ServerSocket(port); System.out.println("Start service on "+port); while(true){ new Transmit(socket.accept()).start(); } }catch (IOException e){} } private class Transmit extends Thread { private String sys = System.getProperty("os.name")+" "+System.getProperty("os.arch")+" "+System.getProperty("os.version"); private Socket sock; public Transmit(Socket sock){ this.sock = sock; try { input = new BufferedReader(new InputStreamReader(sock.getInputStream(),"gb2312")); output = new PrintStream(sock.getOutputStream()); output.println(sys); }catch(Exception e){} } public void run(){ System.out.println(""); } } private int port = 520; private BufferedReader input; private PrintStream output; private String cmd; private Process proc; private String msg; private BufferedReader dis ;} //客户端 import java.io.*; import java.net.*; public class Client { public static void main(String[] args){ if (args.length != 2) throw new IllegalArgumentException("Wrong number of args"); String host = args[0]; int port = Integer.parseInt(args[1]); new Client(host, port); } public Client(String host,int port){ try { Socket s = new Socket(host, port); final BufferedReader echo=new BufferedReader(new InputStreamReader(s.getInputStream(),"gb2312")); PrintWriter ps = new PrintWriter(s.getOutputStream()); BufferedReader cmd = new BufferedReader(new InputStreamReader(System.in,"gb2312")); final PrintWriter pis = new PrintWriter(System.out, true); pis.println("Connected to "+s.getInetAddress()+":" + s.getPort()); Thread t = new Thread() { public void run() { char[] buffer = new char[1024]; int ch; try { while((ch = echo.read(buffer)) != -1) { for(int i = 0; i
本文转自
http://www.cn-java.com/www1/?action-viewnews-itemid-2717
- 一个Socket服务的例子! 请高手指点无法捕捉的输出如何修改?
- 一个Socket服务的例子! 请高手指点无法捕捉的输出如何修改?
- java se tutorials 里面的一个很简单的例子,高手请指点一下
- 请教一个USB编程的问题,请高手指点~
- 一个关于C#的问题 请高手指点
- asp的问题 请高手指点!
- VC下载的问题,请高手指点
- 配置有文件流输出的程序,提示错误,请高手指点!急!急!急!
- 请高手指点,PHP问题,解密出一个文件,不知道这个是什么用的,怎么使用,谢谢好友指点
- 一个想向JAVA程序员发展的菜鸟(请各位高手指点)
- 如何在特定的区域提问?请哪位高手帮忙指点一下,谢谢!
- 急急急,我的老主板不支持40G 硬盘,如何解决?请高手指点!
- 用SQL语句如何取出第6行到第10行的数据(高手请指点)
- 高手指点:如何取得好的软件设计
- 高手指点:如何取得好的软件设计
- 我想多学点软件测试的知识,请高手多多指点
- 使用网页文本编辑器的问题,请高手指点一下
- WIN XP HOME & IIS的问题,请高手指点,多谢!
- 用Java编写通过代理访问的应用程序
- Java socket编程入门[1]
- Java解析网络数据流的三种特殊方法
- 通过套接字传递对象
- java开发的邮件发送程序
- 一个Socket服务的例子! 请高手指点无法捕捉的输出如何修改?
- ecos 安装
- 用Socket类实现HTTP协议客户端应用
- swt、eclipse RCP与“Java All in One”
- asp.net hyperlink传递两个参数
- C++ 最强大的 .NET Framework编程语言
- 像163网站顶部展出的大幅广告
- 从socket中读取数据时使用超时
- 对等计算实践:基于 IP 多播的发现