마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

socket timeout을 주고싶은데요 [closed]

0 추천
public class ConnectActivity extends Activity{
 
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_connect);
 
Button Connector=(Button)findViewById(R.id.connectbnt);
 
netCheck();
 
Connector.setOnClickListener(new OnClickListener() {
 
public void onClick(View v) {
// TODO Auto-generated method stub
EditText server_ip=(EditText)findViewById(R.id.server_ip);
String ip=server_ip.getText().toString();
EditText server_port=(EditText)findViewById(R.id.server_port);
String port=server_port.getText().toString();
 
try {
//ThreadTool.ServerSocket=new Socket(ip,Integer.parseInt(port));
 
SocketAddress addr=new InetSocketAddress(ip, Integer.parseInt(port));
ThreadTool.ServerSocket.connect(addr, 2000);
 
} catch (NumberFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NullPointerException e) {
// TODO: handle exception
e.printStackTrace();
}
 
if(ThreadTool.ServerSocket!=null){
Intent intent=new Intent(getApplicationContext(),MainActivity.class);
startActivity(intent);
}else if(ThreadTool.ServerSocket==null){
new AlertDialog.Builder(ConnectActivity.this)
.setTitle("error")
.setMessage("IP/PORT를 확인해 주십시오")
.setPositiveButton("확인", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
 
}
}).show();
}
}
});
}
 
public void netCheck(){
ConnectivityManager connManager=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
final android.net.NetworkInfo is3G=connManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
final android.net.NetworkInfo isWIFI=connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
 
if(isWIFI.isConnected()){
 
}else{
new AlertDialog.Builder(ConnectActivity.this)
.setTitle("error")
.setMessage("WIFI 설정창으로 이동 하시겠습니까?")
//.setIcon(R.drawable.wifiimage)
.setPositiveButton("확인", new DialogInterface.OnClickListener() {
 
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
startActivity(new Intent(android.provider.Settings.ACTION_WIFI_SETTINGS));
 
}
}).setNegativeButton("닫기", new DialogInterface.OnClickListener() {
 
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
}).show();
}
}
 
}
 
socket timeout딜레이가 너무길어서 그걸 줄여주고 싶은데...
빨간 부분에서 ServerSocket=new Socket(ip,port)를 안하면 소켓타임아웃 딜레이가 너무 길고,
SocketAdress addr 부분을 하면 타임아웃 딜레이는 짧아지는데 소켓통신 접속이안되네요... 
고수님들 부탇합니다..
질문을 종료한 이유: 해결완료
익명사용자 님이 2013년 10월 10일 질문
2013년 10월 10일 closed
...