Java客户端和python服务器连接
我正在android studio中开发一个应用程序,基本上我需要每当我点击一个特定的按钮时,它就会在java客户端和python服务器之间创建一个连接Java客户端和python服务器连接,java,android,python,android-studio,networking,Java,Android,Python,Android Studio,Networking,我正在android studio中开发一个应用程序,基本上我需要每当我点击一个特定的按钮时,它就会在java客户端和python服务器之间创建一个连接 当您进入特定按钮的页面\活动时,我首先检查了手机中是否有wifi连接。 它很好用。然后我试着这样做,但没有成功(重要的是,当前代码使我的手机和应用程序崩溃并停止) 简单服务器: HOST = '192.168.1.21' PORT = 9000 def main(): server_socket = socket.socket(so
当您进入特定按钮的页面\活动时,我首先检查了手机中是否有wifi连接。
它很好用。然后我试着这样做,但没有成功(重要的是,当前代码使我的手机和应用程序崩溃并停止)
简单服务器:
HOST = '192.168.1.21'
PORT = 9000
def main():
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind((HOST, PORT))
server_socket.listen(10)
client_socket, client_address = server_socket.accept()
print 'Connect with ' + client_address[0]
data = client_socket.recv(1024)
print "data :"
print data
print " end"
if data == HOST+"/n":
print 'hi'
else:
i = 0
while i < 15:
print i
i += 1
client_socket.close()
server_socket.close()
if __name__ == '__main__':
main()
我在AndroidStudio 3.0中读到,当你发送数据时,你需要创建一个线程。
您在此处看到的客户端类:
public class Client
{
private Socket socket = null;
private BufferedReader reader = null;
private BufferedWriter writer = null;
public Client(InetAddress address, int port) throws IOException
{
socket = new Socket(address, port);
reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
writer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
}
public void send(String msg) throws IOException
{
writer.write(msg, 0, msg.length());
writer.flush();
}
public String recv() throws IOException
{
return reader.readLine();
}
}
这可能只是一件简单的事情,我不知道,但这些是代码,我无法连接到服务器。我发现服务器工作得很好,因为如果我从手机连接到网络上的192.168.1.21,我会收到连接,它会在短时间内完成。
ty需要帮助-我想得到最简单的修复,因为我是java新手。(如果有语法\拼写错误,请道歉) 编辑-故障日志
在日志的末尾,它显示NetworkOnMainThread。在您的代码中有一行
client.send(ip)
,在主线程执行的独立线程下面 如果你的应用程序崩溃-将崩溃日志添加到你的问题中。我上传了一张图片rn.1。复制粘贴日志比添加图像更好。2.python代码在这里是多余的。3.日志的最后一行指出,在调用“onClick”时,第59行出现问题。检查那条线,我知道。。只是想弄清楚问题出在客户身上。我会在单击时设法找出问题所在。基本上,当您单击它时,假设在客户端和服务器之间创建连接..一个小问题-当我将字符串从java发送到python时,它会添加\n?
public class Client
{
private Socket socket = null;
private BufferedReader reader = null;
private BufferedWriter writer = null;
public Client(InetAddress address, int port) throws IOException
{
socket = new Socket(address, port);
reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
writer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
}
public void send(String msg) throws IOException
{
writer.write(msg, 0, msg.length());
writer.flush();
}
public String recv() throws IOException
{
return reader.readLine();
}
}