tcp的socket求救! 我想编一个简单的纯Java的tcp,让两台计算机实现通讯,可就是老出问题,谁有简单的源码麻烦共享一下。不用太复杂,就发送和接受无需其他功能,能看懂、运行就行,谢谢!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 服务器代码:package com;import java.net.ServerSocket;public class Server { public static void main(String[] args) { try { //启动服务,监听端口10001 ServerSocket serverSocket = new ServerSocket(10001); //在无请求时阻塞,在有请求时为每个请求创建新的连接实例 while (true) //创建新的连接实例 new ServerInstance(serverSocket.accept()).run(); } catch (Exception e) { e.printStackTrace(); } }}服务器实例代码:package com;import java.io.BufferedInputStream;import java.io.IOException;import java.net.Socket;public class ServerInstance extends Thread { Socket socket; public ServerInstance(Socket socket) { this.socket = socket; } /* (non-Javadoc) * 线程运行实际内容 * @see java.lang.Thread#run() */ @Override public void run() { try { BufferedInputStream bis = new BufferedInputStream(socket.getInputStream()); while (true) { try { if (bis.available() > 0) { byte[] bs = new byte[1024]; bis.read(bs); String str = new String(bs); System.out.println(str); //判断客户端传入信息是否为end,如果是则结束该线程 if(str.startsWith("end")){ System.out.println("End cmd from client!"); return; } } sleep(1000); } catch (Exception e) { e.printStackTrace(); } } } catch (IOException e1) { e1.printStackTrace(); } finally{ try { socket.close(); } catch (IOException e) { e.printStackTrace(); } } }}客户端代码:package com;import java.io.BufferedOutputStream;import java.io.IOException;import java.net.Socket;import java.net.UnknownHostException;public class Client { public static void main(String[] args) throws UnknownHostException, IOException { //创建新的连接实例 Socket socket = new Socket("192.168.0.1", 10001); //获得socket的输出流,用于输出 BufferedOutputStream bos = new BufferedOutputStream(socket.getOutputStream()); //对socket写入信息end,即,对服务器端发送信息 bos.write("end".getBytes()); //使发送信息生效 bos.flush(); }} 怎么运行啊,我先运行了Server,再运行client,之后就打出了end和一串小方格,再就打出了End cmd from client!。这个程序到底应该怎么用啊,再麻烦你教教我,说具体点!!谢谢!!! 怎么运行啊,我先运行了Server,再运行client,之后就打出了end和一串小方格,再就打出了End cmd from client!。这个程序到底应该怎么用啊,再麻烦你教教我,说具体点!!谢谢!!! 怎么运行啊,我先运行了Server,再运行client,之后就打出了end和一串小方格,再就打出了End cmd from client!。这个程序到底应该怎么用啊,再麻烦你教教我,说具体点!!谢谢!!! 怎么运行啊,我先运行了Server,再运行client,之后就打出了end和一串小方格,再就打出了End cmd from client!。这个程序到底应该怎么用啊,再麻烦你教教我,说具体点!!谢谢!!! 怎么运行啊,我先运行了Server,再运行client,之后就打出了end和一串小方格,再就打出了End cmd from client!。这个程序到底应该怎么用啊,再麻烦你教教我,说具体点!!谢谢!!! 怎么运行啊,我先运行了Server,再运行client,之后就打出了end和一串小方格,再就打出了End cmd from client!。这个程序到底应该怎么用啊,再麻烦你教教我,说具体点!!谢谢!!! 请参考这里的代码不过需要登陆,你不愿意注册的话,可以用游客身份! http://www.java2000.net/forumdisplay.jsp?fid=70 问题很短,就2个符号的含义 oracle 如何提高查询速度 关于SNMP的问题 求think in java 3rd 中文版 要chm的...谢 一个简单的问题....请教 关于中文字符串编译,本机测试OK,上传上去乱码!分不够再加 如何获得鼠标在屏幕上的位置? 小弟想学java,各位大哥给点意见 有哪位好心人,帮我看看这段程序!!一定给分!!!!!! JAVA初学者求教 final的用法 请高手帮帮忙
public static void main(String[] args) {
try {
//启动服务,监听端口10001
ServerSocket serverSocket = new ServerSocket(10001);
//在无请求时阻塞,在有请求时为每个请求创建新的连接实例
while (true)
//创建新的连接实例
new ServerInstance(serverSocket.accept()).run();
} catch (Exception e) {
e.printStackTrace();
}
}
}服务器实例代码:package com;import java.io.BufferedInputStream;
import java.io.IOException;
import java.net.Socket;public class ServerInstance extends Thread {
Socket socket; public ServerInstance(Socket socket) {
this.socket = socket;
}
/* (non-Javadoc)
* 线程运行实际内容
* @see java.lang.Thread#run()
*/
@Override
public void run() {
try {
BufferedInputStream bis = new BufferedInputStream(socket.getInputStream());
while (true) {
try {
if (bis.available() > 0) {
byte[] bs = new byte[1024];
bis.read(bs);
String str = new String(bs);
System.out.println(str);
//判断客户端传入信息是否为end,如果是则结束该线程
if(str.startsWith("end")){
System.out.println("End cmd from client!");
return;
}
}
sleep(1000);
} catch (Exception e) {
e.printStackTrace();
}
}
} catch (IOException e1) {
e1.printStackTrace();
} finally{
try {
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}客户端代码:package com;import java.io.BufferedOutputStream;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;public class Client {
public static void main(String[] args) throws UnknownHostException, IOException {
//创建新的连接实例
Socket socket = new Socket("192.168.0.1", 10001);
//获得socket的输出流,用于输出
BufferedOutputStream bos = new BufferedOutputStream(socket.getOutputStream());
//对socket写入信息end,即,对服务器端发送信息
bos.write("end".getBytes());
//使发送信息生效
bos.flush();
}
}
不过需要登陆,你不愿意注册的话,可以用游客身份!
http://www.java2000.net/forumdisplay.jsp?fid=70