写一个投票程序,与ap模式下的wifi模块通信,socket不能互联

qq_31597097 2017-04-15 06:55:19
我用的是socket编程。安卓是客户端,电脑那边是服务器。投票程序分为单选和多选。分别放到两个fragment中,通过界面下方的单选多选按钮进行添加和替换。这部分程序是这样的:
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
radioGroup=(RadioGroup)myFragment1.getRadioGroup();
button1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(flag2==0){
myApplication=(MyApplication)MyApplication.getInstance();
radioGroup=myFragment1.getRadioGroup();
for (int i = 0; i < radioGroup.getChildCount(); i++) {
RadioButton rd = (RadioButton) radioGroup.getChildAt(i);
if (rd.isChecked()) {
myApplication.setFlag(i+1);
new MyThread().start();
Log.i("dd","开启线程");
break;
}
}
}else{
myApplication=(MyApplication)MyApplication.getInstance();
flag3=0;
checkBox1=myFragment2.getCheckBox1();
checkBox2=myFragment2.getCheckBox2();
checkBox3=myFragment2.getCheckBox3();
checkBox4=myFragment2.getCheckBox4();
if(checkBox1.isChecked()){
flag3+=1;
}
if(checkBox2.isChecked()){
flag3+=2;
}
if(checkBox3.isChecked()){
flag3+=4;
}
if(checkBox4.isChecked()){
flag3+=8;
}
myApplication.setFlag(flag3);
new MyThread().start();
Log.i("dd","开启线程");
}
}
});

button2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
flag2=0;
transaction=fragmentManager.beginTransaction();
transaction.replace(R.id.replaceButton, myFragment1);
transaction.commit();
Log.i("多选",""+flag3);
}
});
button3.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
flag2=1;
transaction=fragmentManager.beginTransaction();
transaction.replace(R.id.replaceButton, myFragment2);
transaction.commit();
Log.i("单选",""+flag1);
}
});

在开启的线程中实现网络通信,即互发消息。线程如下:
class MyThread extends Thread{
Socket socket;
public void run(){
try {// 创建一个Socket对象,并指定服务端的IP及端口号
Log.i("dd","刚进入线程");
Socket socket=new Socket("192.168.4.1",8086);
Log.i("dd","进入线程");
OutputStream outputStream = socket.getOutputStream();
int temp=MyApplication.getInstance().getFlag();
outputStream.write(temp);
outputStream.flush();
outputStream.close();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
运行不会报错,但是程序永远不会执行
Socket socket=new Socket("192.168.4.1",8086);
这一句。
实在没辙了,求各位大神解答。
...全文
585 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
绿领巾童鞋 2017-05-12
  • 打赏
  • 举报
回复
防火墙 ,防火墙~
qq_31597097 2017-04-16
  • 打赏
  • 举报
回复
顶帖,求帮忙

786

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 非技术区
android小程序微信小程序 技术论坛(原bbs)
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧