服务端
import socket
import sys
from time import ctime
def FindMusicName(MusicName):
f = open('musicName3.txt','r',encoding='utf8')
for lines in f.readlines():
if lines.find("马桃")!=-1:
print(lines)
print("find it .........................")
return lines
ServerSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host = socket.gethostname()
port = 666
ServerSocket.bind((host, port))
ServerSocket.listen(2)
while True:
clientsocket, addr = ServerSocket.accept()
print("连接地址:%s" % str(addr))
msg = "welcomt to my demo"
print("send msg:welcomt to my demo.")
data = clientsocket.recv(1024)
print(data.decode("utf-8"))
print("显示文件歌曲查询结果")
f = open('musicName3.txt','r',encoding='utf8')
for lines in f.readlines():
if lines.find(data.decode("utf-8"))!=-1:
print(lines)
print("find it .........................")
break
data2= lines.encode("utf-8")
print(lines)
clientsocket.send(data2)
clientsocket.close()
ServerSocket.close()
客户端
package com.example.myapplication;
import android.annotation.SuppressLint;
import android.os.Handler;
import android.os.Message;
import android.os.Bundle;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
public class MainActivity extends AppCompatActivity {
private final int HANDLER_MSG_TELL_RECV = 0x124;
@SuppressLint("HandlerLeak")
Handler handler = new Handler(){
public void handleMessage(Message msg){
Toast.makeText(MainActivity.this,(msg.obj).toString(),Toast.LENGTH_LONG).show();
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
startNetThread();
}
private void startNetThread() {
new Thread() {
@Override
public void run() {
try {
Socket socket = new Socket("192.168.3.87", 666);
InputStream is = socket.getInputStream();
OutputStream out = socket.getOutputStream();
out.write("马桃".getBytes());
out.flush();
byte[] bytes = new byte[1024];
int n = is.read(bytes);
Message msg = handler.obtainMessage(HANDLER_MSG_TELL_RECV, new String(bytes, 0, n));
msg.sendToTarget();
is.close();
socket.close();
} catch (Exception e) {
}
}
}.start();
}
}
<uses-permission android:name="android.permission.INTERNET"></uses-permission>