//==============================================客户端============================
package qq;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintStream;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Scanner;public class Clients implements Runnable{
Socket b=null;
public static void main(String[] args) {
Socket d;
Clients c=new Clients();
Thread th=new Thread(c);
th.start();
try {
d = new Socket("localhost",8000);
Baa a=new Baa(d);
Thread th1=new Thread(a);
th1.start();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void run() {
try {
while(true){
b=new Socket("localhost",8000);
Scanner sr=new Scanner(System.in);
String ss=sr.nextLine();
OutputStream oos=b.getOutputStream();
PrintStream ps=new PrintStream(oos);
ps.println(ss);
}
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} }}
class Baa implements Runnable{
Socket t = null;
InputStream in;
public Baa(Socket t){
this.t=t;
}
public void run() {
try {
// t=new Socket("localhost",8000);
InputStream in=t.getInputStream();
BufferedReader ber=new BufferedReader(new InputStreamReader(in));
String str=ber.readLine();
System.out.println("服务器:"+str);
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}//===========================================服务器=======================================================
package qq;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;public class Serverqi implements Runnable{
static ServerSocket b = null;
Socket s = null;
public static void main(String[] args) {
try {
b = new ServerSocket(8000);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
Serverqi q=new Serverqi();
Thread th=new Thread(q);
th.start();
Ba b1=new Ba(b);
Thread th1=new Thread(b1);
th1.start();
}
public void run() {
try {
while(true){
s=b.accept();
InputStream in=s.getInputStream();
BufferedReader ber=new BufferedReader(new InputStreamReader(in));
String str=ber.readLine();
System.out.println("客户端:"+str);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}}class Ba implements Runnable{
Socket s = null;
ServerSocket b = null;
public Ba(ServerSocket b){
this.b=b;
}
public void run() {
// while(true){
try {
s=b.accept();
Scanner sr=new Scanner(System.in);
String ss=sr.nextLine();
OutputStream oos;
oos = s.getOutputStream();
PrintStream ps=new PrintStream(oos);
ps.println(ss);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
// }
}
}
为什么我在客户端上输入随便输入多少次服务器上都能接收到····服务器发给客户端去只能发成功一次这是为什么啊·········
package qq;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintStream;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Scanner;public class Clients implements Runnable{
Socket b=null;
public static void main(String[] args) {
Socket d;
Clients c=new Clients();
Thread th=new Thread(c);
th.start();
try {
d = new Socket("localhost",8000);
Baa a=new Baa(d);
Thread th1=new Thread(a);
th1.start();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void run() {
try {
while(true){
b=new Socket("localhost",8000);
Scanner sr=new Scanner(System.in);
String ss=sr.nextLine();
OutputStream oos=b.getOutputStream();
PrintStream ps=new PrintStream(oos);
ps.println(ss);
}
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} }}
class Baa implements Runnable{
Socket t = null;
InputStream in;
public Baa(Socket t){
this.t=t;
}
public void run() {
try {
// t=new Socket("localhost",8000);
InputStream in=t.getInputStream();
BufferedReader ber=new BufferedReader(new InputStreamReader(in));
String str=ber.readLine();
System.out.println("服务器:"+str);
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}//===========================================服务器=======================================================
package qq;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;public class Serverqi implements Runnable{
static ServerSocket b = null;
Socket s = null;
public static void main(String[] args) {
try {
b = new ServerSocket(8000);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
Serverqi q=new Serverqi();
Thread th=new Thread(q);
th.start();
Ba b1=new Ba(b);
Thread th1=new Thread(b1);
th1.start();
}
public void run() {
try {
while(true){
s=b.accept();
InputStream in=s.getInputStream();
BufferedReader ber=new BufferedReader(new InputStreamReader(in));
String str=ber.readLine();
System.out.println("客户端:"+str);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}}class Ba implements Runnable{
Socket s = null;
ServerSocket b = null;
public Ba(ServerSocket b){
this.b=b;
}
public void run() {
// while(true){
try {
s=b.accept();
Scanner sr=new Scanner(System.in);
String ss=sr.nextLine();
OutputStream oos;
oos = s.getOutputStream();
PrintStream ps=new PrintStream(oos);
ps.println(ss);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
// }
}
}
为什么我在客户端上输入随便输入多少次服务器上都能接收到····服务器发给客户端去只能发成功一次这是为什么啊·········
解决方案 »
- 编写一个Java应用程序,使用 RandomAccessFile流统计 Hello.txt中的单词
- 一个自己写的2进制,8进制,16进制和10进制互相转换的代码(没有输入检查)
- 有谁还记得static?
- 谢谢html:multibox的使用,还有,可以的话,我还想了解下,如何让其全部选中,
- 关于java程序中生成按钮、文本框的问题?
- 请求log4j的XML配置文档 -- 高分相赠(急)
- 如何写JavaMail通过代理服务器发邮件的程序?!
- 请问如何在applet加载成功之前显示“正在初始化”字样的页面?
- 这是怎么回事?
- 帮忙看下这两段代码有什么问题,关于线程同步问题
- swing布局管理器小问题
- jdk1.6 数组 toString 困扰数天 急救!!!
d = new Socket("localhost",8000);
Baa a=new Baa(d); 而你却在Clients.run()中用一个while(true)创建了无数个的socket,所以server端可以接收到好多次的信息