这个是服务器端程序,
package myCS;import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;public class MyServer { /**
* @param args
*/
public static void main(String[] args) { try {
//建立Server Socket并等待连接请求
ServerSocket server = new ServerSocket(1680);
Socket socket = server.accept();
//连接建立,通过Socket获取连接上的输入/输出流
BufferedReader in = new BufferedReader(
new InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(socket.getOutputStream());
//创建标准输入流,从键盘接收数据
BufferedReader sin = new BufferedReader(new InputStreamReader(System.in));
/*先读取Client 发送的数据,
* 然后从标准输入读取数据发送给Client当接收到bye时关闭连接
*/
String s;
while (!(s=in.readLine()).equals("bye")) {
System.out.println("# 接收自客户端: "+s); //===>此处接收自客户端的s为什么 不能打印呢?(就这一个疑问)
out.println(sin.readLine());
out.flush();
}
System.out.println("正在关闭连接... ...");
//关闭连接
in.close();
out.close();
socket.close();
server.close();
} catch (Exception e) {
System.out.println("错误:"+e);
}
}}
以下是客户端程序(这个没问题):
package myCS;import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;public class MyClient { /**
* @param args
*/
public static void main(String[] args) { try {
Socket socket = new Socket("127.0.0.1",1680); //发出连接请求
//连接建立,通过Socket获取连接上的输入/输出流
PrintWriter out = new PrintWriter(socket.getOutputStream());
BufferedReader in = new BufferedReader(
new InputStreamReader(socket.getInputStream()));
//创建标准输入流,从键盘读取数据
BufferedReader sin = new BufferedReader(
new InputStreamReader(System.in));
//从标准输入中读取一行,发生Server端,当用户输入bye时结束连接
String s;
do {
s=sin.readLine();
out.println();
out.flush();
if (! s.equals("bye")) {
System.out.println("@服务器端响应:"+in.readLine());
} else {
System.out.println("正在关闭连接... ...");
}
} while (! s.equals("bye"));
//关闭连接
out.close();
in.close();
socket.close();
} catch (Exception e) {
System.out.println("错误: "+e);
}
}}
package myCS;import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;public class MyServer { /**
* @param args
*/
public static void main(String[] args) { try {
//建立Server Socket并等待连接请求
ServerSocket server = new ServerSocket(1680);
Socket socket = server.accept();
//连接建立,通过Socket获取连接上的输入/输出流
BufferedReader in = new BufferedReader(
new InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(socket.getOutputStream());
//创建标准输入流,从键盘接收数据
BufferedReader sin = new BufferedReader(new InputStreamReader(System.in));
/*先读取Client 发送的数据,
* 然后从标准输入读取数据发送给Client当接收到bye时关闭连接
*/
String s;
while (!(s=in.readLine()).equals("bye")) {
System.out.println("# 接收自客户端: "+s); //===>此处接收自客户端的s为什么 不能打印呢?(就这一个疑问)
out.println(sin.readLine());
out.flush();
}
System.out.println("正在关闭连接... ...");
//关闭连接
in.close();
out.close();
socket.close();
server.close();
} catch (Exception e) {
System.out.println("错误:"+e);
}
}}
以下是客户端程序(这个没问题):
package myCS;import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;public class MyClient { /**
* @param args
*/
public static void main(String[] args) { try {
Socket socket = new Socket("127.0.0.1",1680); //发出连接请求
//连接建立,通过Socket获取连接上的输入/输出流
PrintWriter out = new PrintWriter(socket.getOutputStream());
BufferedReader in = new BufferedReader(
new InputStreamReader(socket.getInputStream()));
//创建标准输入流,从键盘读取数据
BufferedReader sin = new BufferedReader(
new InputStreamReader(System.in));
//从标准输入中读取一行,发生Server端,当用户输入bye时结束连接
String s;
do {
s=sin.readLine();
out.println();
out.flush();
if (! s.equals("bye")) {
System.out.println("@服务器端响应:"+in.readLine());
} else {
System.out.println("正在关闭连接... ...");
}
} while (! s.equals("bye"));
//关闭连接
out.close();
in.close();
socket.close();
} catch (Exception e) {
System.out.println("错误: "+e);
}
}}
解决方案 »
- java新手急求大神解答!!
- JSP 作用域的问题
- 初学者关于STRING的问题
- ssh配置后启不了comcat请帮助忙呀??????????
- JNI char to jstring
- 大学生JAVA技术讨论群
- 请问大家怎样在一台计算机上得到另一台计算机的系统时间,急
- JTable问题请教 :如何修改一个单元格的属性
- applet不能用appletviewer运行,(jbuilder7下),为什么??小虫大呼救命!!!
- 如何得到JPanel或JFrame的height和width?
- 在Linux下如何解决由于多个IP地址导致InetAddress.getLocalHost()异常java.net.UnknownHostException
- Java导入如何jar?
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;public class MyClient { /**
* @param args
*/
public static void main(String[] args) { try {
Socket socket = new Socket("127.0.0.1",1680); //发出连接请求
//连接建立,通过Socket获取连接上的输入/输出流
PrintWriter out = new PrintWriter(socket.getOutputStream());
BufferedReader in = new BufferedReader(
new InputStreamReader(socket.getInputStream()));
//创建标准输入流,从键盘读取数据
BufferedReader sin = new BufferedReader(
new InputStreamReader(System.in));
//从标准输入中读取一行,发生Server端,当用户输入bye时结束连接
String s;
do {
s=sin.readLine();
out.println(s);//這裡幫你該了
out.flush();
if (! s.equals("bye")) {
System.out.println("@服务器端响应:"+in.readLine());
} else {
System.out.println("正在关闭连接... ...");
}
} while (! s.equals("bye"));
//关闭连接
out.close();
in.close();
socket.close();
} catch (Exception e) {
System.out.println("错误: "+e);
}
}}