位置:
首页
→
Java开发
→
Java SE
问题状态
J2SE Socket
悬赏分:20
已经过期
过期时间2008-7-6 19:00
我是初学者
刚刚开始接触Scoket编程
但是我的下面这个程序就是不能运行
用debug模式能够运行一步
希望高手们能帮我解决一下这个问题
谢谢咯!!!!!
//**************server端***
import
java.io.*;
import
java.net.*;
public
class
server
{
public
static
void
main(String[]
args)
{
try{
ServerSocket
MyServer=new
ServerSocket(6060);
Socket
MyClient
=
MyServer.accept();
BufferedReader
buff=new
BufferedReader(new
InputStreamReader(MyClient.getInputStream()));
PrintWriter
out=new
PrintWriter(MyClient.getOutputStream(),true);
BufferedReader
stdin=new
BufferedReader(new
InputStreamReader(System.in));
out.println("Connect
Start");
new
ServerOut(stdin,out);
while(true){
String
str=buff.readLine();
if(str.equals("exit")){
break;
}
else{
System.out.println(str);
}
Thread.sleep(50);
}
MyClient.close();
}
catch(Exception
e){
e.printStackTrace();
}
}
}
class
ServerOut
extends
Thread{
private
BufferedReader
in;
private
PrintWriter
pw;
public
ServerOut(BufferedReader
in,PrintWriter
pw){
this.in=in;
this.pw=pw;
start();
}
public
void
run(){
while(true){
try{
String
inStr=in.readLine();
if(inStr.equals("exit")){
pw.close();
in.close();
break;
}else{
pw.println(inStr);
}
sleep(300);
}catch(Exception
e){
pw=null;
in=null;
throw
new
RuntimeException(e);
}
}
}
}
//******client端
import
java.io.*;
import
java.net.*;
public
class
client
{
public
static
void
main(String
args[])
{
try{
Socket
Client=new
Socket("liang",6060);
BufferedReader
ins=new
BufferedReader(new
InputStreamReader(Client.getInputStream()));
PrintWriter
out=new
PrintWriter(Client.getOutputStream(),true);
BufferedReader
stdin=new
BufferedReader(new
InputStreamReader(System.in));
out.println("Connet
Success");
new
ClientOut(stdin,out);
while(true){
String
str=ins.readLine();
if(ins!=null){
System.out.println(str);
}
Thread.sleep(50);
}
}catch(Exception
e){
e.printStackTrace();
}
}
}
class
ClientOut
extends
Thread{
private
BufferedReader
in;
private
PrintWriter
pw;
public
ClientOut(BufferedReader
in,PrintWriter
pw){
this.in=in;
this.pw=pw;
}
public
void
run(){
while(true){
try{
in.readLine();
if(in.readLine().equals("exit")){
pw.close();
in.close();
break;
}else{
pw.println(in.readLine());
}
sleep(300);
}
catch(Exception
e){
pw=null;
in=null;
throw
new
RuntimeException(e);
}
}
}
}
提问者:
aidetianshi1987@qq.com - 头衔:开发爱好者
最佳答案
你的线程都还没有start,怎么会有结果呢??
Socket
Client=new
Socket("liang",6060);
liang是你的服务器地址吗?
回答者:
575799668@qq.com
-
头衔:开发爱好者
2008-7-8 0:03:16
回复答案
共1条
暂无回答,欢迎您的参与!
我的回答:
回答即可得10分,被采纳则可得50分+悬赏分。
验证码
最新问题
欢迎使用本系统,智囊团。踊跃回答,赢得积分。
使用有问题请到
帮助
关于我们
|
商务合作
|
招聘信息
|
客服中心
|
服务条款
|
免责声明
|
网站导航
|
java培训
Copyright 2007 zhinangtuan.net.cn all rights reserved 版权所有