读书人

再请问java socket接收发送

发布时间: 2012-01-13 22:43:29 作者: rapoo

再请教java socket接收发送
下边的代码,如果我去掉红色部分,client端就能执行通过,只是不能所收到server的返回值,但是如果我加上红色部分,程序就卡死在那里了,请问,我如何才能既发送到服务器端,又能接收到服务器的返回信息呢?
void beginlogin()
{
String send_info=Main.sessionno.toString().trim()+","+Main.sessionpwd.toString().trim();

try{
link_server_ip=java.net.InetAddress.getByName("www.abc.net").getHostAddress().toString();
link_sa=new java.net.InetSocketAddress(link_server_ip,java.lang.Integer.parseInt(link_sports));

link_server.connect(link_sa);
link_sosw=new OutputStreamWriter(link_server.getOutputStream());
link_bwout=new BufferedWriter(link_sosw);
link_in=new BufferedReader(c_isr=new InputStreamReader(link_server.getInputStream()));

link_bwout.write(Main.flag.toString().trim()+","+Main.sessionno.toString().trim()+","+Main.sessionpwd.toString().trim());
link_bwout.flush();

String readstr=null;
while(true)
{

if((readstr=link_in.readLine())==null)
{
break;
}
else
{
jLabel1.setText((readstr=link_in.readLine()));
}
}
[size=16px][/size][b][/b]
link_server.close();
}
catch(Exception e)
{

}

}

[解决办法]

Java code
serverpackage com.half.socket;import java.io.IOException;import java.net.ServerSocket;import java.net.Socket;public class ServerSocketImpl {    public static void main(String[] args){        try {            ServerSocket serverS=new ServerSocket(1234);            Socket socketC=null;            while(true){                socketC=serverS.accept();                DealSocket cl=new DealSocket(socketC);                new Thread(cl).start();            }        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }            }} 

读书人网 >J2SE开发

热点推荐