如何解决服务器套接字在 android 中没有正确响应
在我的项目中,服务器套接字在 android 中没有正确响应。我不知道这有什么问题?我的服务器端代码卡在 serversocket.accept() 中。
在清单文件中,我已授予 Internet 和前台服务权限。 我是初学者,过去 3 天我一直在尝试这个,但我在这方面花了太多时间。
这是我的服务器端代码:
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import java.io.DataInputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.socket;
public class MainActivity extends AppCompatActivity {
Socket s;
ServerSocket serverSocket;
TextView textView;
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView=findViewById(R.id.texview);
button=findViewById(R.id.buttonstart);
connect();
}
public void connect(){
button.setonClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
button.setEnabled(false);
Thread thread=new Thread(new Runnable() {
@Override
public void run() {
try {
serverSocket=new ServerSocket(8888);
while (true){
s=serverSocket.accept();
DataInputStream datainput=new DataInputStream(s.getInputStream());
String txt=(String)datainput.readUTF();
textView.setText(txt);
}
} catch (IOException e) {
e.printstacktrace();
}
}
});
thread.start();
}
});
}
public void stop(View view) {
try {
s.close();
} catch (IOException e) {
e.printstacktrace();
}
}
}
这是java格式的客户端测试代码
import java.io.DataInput;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.net.socket;
import java.util.Scanner;
public class client {
public static void main(String[] args) {
try {
Socket s=new Socket("192.168.43.24",9999);//for bind by ip & port 1
DataOutputStream m=new DataOutputStream(s.getoutputStream());// for send msg
Scanner scan= new Scanner(system.in);
while(true){
System.out.print("Type you msg here :- ");
String send=scan.nextLine();
m.writeUTF(send);
m.flush();
}
} catch (Exception e) {
System.out.println(e);//print error
//Todo: handle exception
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。