麻烦各位大侠 帮我看一下程序 我写了一个客户端程序和服务器程序
客户端程序如下:
它的大体结构式 我写了九个按钮 每一个按钮都有一个监听器 每一个监听器的处理的事情就是发送一个socket请求给服务器端。
import java.io.BufferedWriter;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.InetSocketAddress;
import java.net.Socket;import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;public class UItestActivity extends Activity {
/** Called when the activity is first created. */
private Button button1;
private Button button2;
private Button button3;
private Button button4;
private Button button5;
private Button button6;
private Button button7;
private Button button8;
private Button button9;
private EditText edt;
public void Send(String sRemoteIP,int iRemotePort,String sCmd){
try {
InetSocketAddress remoteAddr = new InetSocketAddress(sRemoteIP,iRemotePort);
Socket socket = new Socket();
socket.connect(remoteAddr);
System.out.println("zheshishenem");
PrintWriter send = new PrintWriter(new BufferedWriter( new OutputStreamWriter(socket.getOutputStream())));
send.println(sCmd);
send.flush(); send.close();
socket.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} } @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button1=(Button)findViewById(R.id.button1);
button2=(Button)findViewById(R.id.button2);
button3=(Button)findViewById(R.id.button3);
button4=(Button)findViewById(R.id.button4);
button5=(Button)findViewById(R.id.button5);
button6=(Button)findViewById(R.id.button6);
button7=(Button)findViewById(R.id.button7);
button8=(Button)findViewById(R.id.button8);
button9=(Button)findViewById(R.id.button9);
edt=(EditText)findViewById(R.id.edt);
button1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
edt.setText("1");
Send("172.19.24.81", 1400, "1");
}
});
button2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
edt.setText("2");
Send("172.19.24.81", 1400, "2");
}
});
button3.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
edt.setText("3");
Send("172.19.24.81", 1400, "3");
}
});
button4.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
edt.setText("4");
Send("172.19.24.81", 1400, "4");
}
});
button5.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
edt.setText("5");
Send("172.19.24.81", 1400, "5");
}
});
button6.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
edt.setText("6");
Send("172.19.24.81", 1400, "6");
}
});
button7.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
edt.setText("7");
Send("172.19.24.81", 1400, "7");
}
});
button8.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
edt.setText("8");
Send("172.19.24.81", 1400, "8");
}
});
button9.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
edt.setText("9");
Send("172.19.24.81", 1400, "9");
}
});
}
}
服务器端的程序如下:
import java.awt.*;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;public class UItext {
private static TextField teField;
public static void main(String[] args) {
teField=new TextField(30);
Frame f=new Frame();
Panel p1=new Panel();
p1.add(teField);
f.add(p1,BorderLayout.NORTH);
Panel p2=new Panel();
p2.setLayout(new GridLayout(3,3,4,4));
String [] name={"1","2","3","4","5","6","7","8","9"};
for(int i=0;i<name.length;i++)
{
p2.add(new Button(name[i]));
}
f.add(p2);
f.pack();
f.setVisible(true);
try {
ServerSocket serverSocket=new ServerSocket(1400);
Socket socket=serverSocket.accept();
InputStream inputStream=socket.getInputStream();
StringBuffer sb=new StringBuffer();
InputStreamReader isReader=new InputStreamReader(inputStream);
char [] buf=new char [20];
int len=0;
while((len=isReader.read(buf))!=-1)
{
sb.append(new String(buf,0,len));
}
serverSocket.close();
socket.close();
teField.setText(sb.toString());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}}
出现的问题是:当我按第一个按钮的时候是可以发送给服务器端 但是按第二个按钮的时候 服务器端就收不到了
客户端程序如下:
它的大体结构式 我写了九个按钮 每一个按钮都有一个监听器 每一个监听器的处理的事情就是发送一个socket请求给服务器端。
import java.io.BufferedWriter;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.InetSocketAddress;
import java.net.Socket;import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;public class UItestActivity extends Activity {
/** Called when the activity is first created. */
private Button button1;
private Button button2;
private Button button3;
private Button button4;
private Button button5;
private Button button6;
private Button button7;
private Button button8;
private Button button9;
private EditText edt;
public void Send(String sRemoteIP,int iRemotePort,String sCmd){
try {
InetSocketAddress remoteAddr = new InetSocketAddress(sRemoteIP,iRemotePort);
Socket socket = new Socket();
socket.connect(remoteAddr);
System.out.println("zheshishenem");
PrintWriter send = new PrintWriter(new BufferedWriter( new OutputStreamWriter(socket.getOutputStream())));
send.println(sCmd);
send.flush(); send.close();
socket.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} } @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button1=(Button)findViewById(R.id.button1);
button2=(Button)findViewById(R.id.button2);
button3=(Button)findViewById(R.id.button3);
button4=(Button)findViewById(R.id.button4);
button5=(Button)findViewById(R.id.button5);
button6=(Button)findViewById(R.id.button6);
button7=(Button)findViewById(R.id.button7);
button8=(Button)findViewById(R.id.button8);
button9=(Button)findViewById(R.id.button9);
edt=(EditText)findViewById(R.id.edt);
button1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
edt.setText("1");
Send("172.19.24.81", 1400, "1");
}
});
button2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
edt.setText("2");
Send("172.19.24.81", 1400, "2");
}
});
button3.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
edt.setText("3");
Send("172.19.24.81", 1400, "3");
}
});
button4.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
edt.setText("4");
Send("172.19.24.81", 1400, "4");
}
});
button5.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
edt.setText("5");
Send("172.19.24.81", 1400, "5");
}
});
button6.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
edt.setText("6");
Send("172.19.24.81", 1400, "6");
}
});
button7.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
edt.setText("7");
Send("172.19.24.81", 1400, "7");
}
});
button8.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
edt.setText("8");
Send("172.19.24.81", 1400, "8");
}
});
button9.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
edt.setText("9");
Send("172.19.24.81", 1400, "9");
}
});
}
}
服务器端的程序如下:
import java.awt.*;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;public class UItext {
private static TextField teField;
public static void main(String[] args) {
teField=new TextField(30);
Frame f=new Frame();
Panel p1=new Panel();
p1.add(teField);
f.add(p1,BorderLayout.NORTH);
Panel p2=new Panel();
p2.setLayout(new GridLayout(3,3,4,4));
String [] name={"1","2","3","4","5","6","7","8","9"};
for(int i=0;i<name.length;i++)
{
p2.add(new Button(name[i]));
}
f.add(p2);
f.pack();
f.setVisible(true);
try {
ServerSocket serverSocket=new ServerSocket(1400);
Socket socket=serverSocket.accept();
InputStream inputStream=socket.getInputStream();
StringBuffer sb=new StringBuffer();
InputStreamReader isReader=new InputStreamReader(inputStream);
char [] buf=new char [20];
int len=0;
while((len=isReader.read(buf))!=-1)
{
sb.append(new String(buf,0,len));
}
serverSocket.close();
socket.close();
teField.setText(sb.toString());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}}
出现的问题是:当我按第一个按钮的时候是可以发送给服务器端 但是按第二个按钮的时候 服务器端就收不到了
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货