Java 如何在Android中将多个客户端连接到服务器?

Java 如何在Android中将多个客户端连接到服务器?,java,android,multithreading,tcp,chat,Java,Android,Multithreading,Tcp,Chat,我想创建一个聊天室,在其中3个(或更多设备)通过热点上的Tcp协议连接到服务器,并且服务器和客户端不能相互交谈 这是我输入的代码 当应用程序启动时,它尝试连接到服务器(如果存在),如果找不到服务器,则运行服务器套接字等待客户端,但只有一个客户端可以连接到服务器并发送和接收消息 我知道我必须使用多线程,但我无法处理此问题,请帮助我:( package com.app.wifi\u聊天; 导入java.io.BufferedReader; 导入java.io.DataOutputStream; 导入

我想创建一个聊天室,在其中3个(或更多设备)通过热点上的Tcp协议连接到服务器,并且服务器和客户端不能相互交谈 这是我输入的代码 当应用程序启动时,它尝试连接到服务器(如果存在),如果找不到服务器,则运行服务器套接字等待客户端,但只有一个客户端可以连接到服务器并发送和接收消息 我知道我必须使用多线程,但我无法处理此问题,请帮助我:(

package com.app.wifi\u聊天;
导入java.io.BufferedReader;
导入java.io.DataOutputStream;
导入java.io.IOException;
导入java.io.InputStreamReader;
导入java.net.InetSocketAddress;
导入java.net.ServerSocket;
导入java.net.Socket;
导入com.uncocoder.app.wifi\u chat.R;
导入android.app.Activity;
导入android.os.Bundle;
导入android.os.Handler;
导入android.view.KeyEvent;
导入android.view.view;
导入android.view.view.OnClickListener;
导入android.widget.Button;
导入android.widget.EditText;
导入android.widget.TextView;
公共类WifiChatActivity扩展活动{
私有处理程序=新处理程序();
私有文本查看文本;
私密文本输入;
私人按钮btnSend;
专用插座;
私有数据输出流输出流;
专用缓冲读取器输入流;
//如果发现返回true,请尝试连接到服务器
专用布尔搜索网络(){
日志(“连接…”);
字符串范围=“192.168.1。”;

对于(inti=1;i而言,您的代码完全是一团糟

通常你需要做这样的东西

类ClientClass实现可运行//以管理客户端 { 插座

public ClientClass(Socket s)
{
    socket = s;
}

void run()
{
    //Get InputStreams
    //Manage client
}
}


希望这能有所帮助。

请原谅我的语言太差。您不必发布xml文件。'if(!searchNetwork()){runChatServer();}。您没有解释这段代码。您应该从解释这段代码开始。在解释完其他代码后,再解释一下。好的,我添加了说明,说明
socket=serverSocket.accept()
陷入循环。瞧,我尝试了这个,但仍然没有成功:(非常感谢Nanoc、@greenapps和@njzk2我通过你和这个pdf解决了我的问题
public ClientClass(Socket s)
{
    socket = s;
}

void run()
{
    //Get InputStreams
    //Manage client
}
ServerClass

while(true)
{
    new Thread(new ClientClass(server.accept()));//Maybe you want to store it for future comunication
}