- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我已经实现了下面的代码。服务器从客户端接收图像,然后 matlab 检测到一些对象并保存新图像face.jpg 然后我尝试将一些点发送回客户端代码卡在//////////我的客户端代码的一部分中:
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Thread.sleep(15000);
Log.d("myTag","Test message11");
try {
points = inFromServer.readLine();
}catch(Exception IO){
Log.d("myTag","Fails to read from server");
}
Log.d("myTag",points);
sock.close();
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
整个 Android 客户端代码都在这里。大家有什么想法吗?请帮忙。
public class MyActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
}
int TAKE_PHOTO_CODE = 0;
public static int count=0;
public static String message="SENT";
public void button2OnClick(final View k){
//Connecting to server and send the picture
new Thread(new Runnable(){
public void run(){
try {
int i;
FileInputStream fis = new FileInputStream (Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) + "/picFolder/1.jpg");
Socket sock = new Socket("192.168.1.91", 6789);
DataOutputStream os = new DataOutputStream(sock.getOutputStream());
BufferedReader inFromServer = new BufferedReader(new InputStreamReader(sock.getInputStream()));
byte[] buffer = new byte[1024];
int bytesRead;
while ((i = fis.read()) > -1)
os.write(i);
fis.close();
os.close();
//lhyh apotelesmatos apo server
String points;
points="";
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Thread.sleep(15000);
Log.d("myTag","Test message11");
try {
points = inFromServer.readLine();
}catch(Exception IO){
Log.d("myTag","Fails to read from server");
}
Log.d("myTag",points);
sock.close();
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
File filePath2 = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) + "/picFolder/1.jpg");
filePath2.delete();
//File filePath2 = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) + "/picFolder");
//filePath2.delete();
}catch (Exception IO){
message="NOT SENT";
File filePath = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) + "/picFolder/1.jpg");
filePath.delete();
File filePath2 = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) + "/picFolder");
filePath2.delete();
Log.d("myTag",message);
}
}
}).start();
Button button=(Button) k;
((Button) k).setText(message);
}
public void buttonOnClick(View v){
//here,we are making a folder named picFolder to store pics taken by the camera using this application
final String dir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) + "/picFolder/";
File newdir = new File(dir);
newdir.mkdirs();
Button capture = (Button) findViewById(R.id.button);
capture.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// here,counter will be incremented each time,and the picture taken by camera will be stored as 1.jpg,2.jpg and likewise.
count++;
String file = dir+"1.jpg";
File newfile = new File(file);
try {
newfile.createNewFile();
} catch (IOException e) {}
Uri outputFileUri = Uri.fromFile(newfile);
Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
startActivityForResult(cameraIntent, TAKE_PHOTO_CODE);
}
});
}
@TargetApi(11)
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == TAKE_PHOTO_CODE && resultCode == RESULT_OK) {
Log.d("CameraDemo", "Pic saved");
// Afou travhksei thn kainouria eikona provaletai sto imageview
Bitmap bmp = BitmapFactory.decodeFile(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) + "/picFolder/1.jpg");
ImageView image = (ImageView) findViewById(R.id.imageView2);
image.setImageBitmap(bmp);
//mage.setRotation(270);
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_my, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
我也发送服务器代码 公共(public)类 ImageReceiver {
public static void main(String[] args) {
try{
ServerSocket socket = new ServerSocket(6789);
System.out.println("Server On-----Waiting for Image");
while(true)
{
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Receive Image From CLient //
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
Socket clientSocket = socket.accept();
File filePath = new File("C:\\ImagesReceived\\image.jpg");
filePath.delete();
DataInputStream dis = new DataInputStream(clientSocket.getInputStream());
FileOutputStream fout = new FileOutputStream("C:\\ImagesReceived\\image.jpg");
try{
int i;
while ( (i = dis.read()) > -1) {
fout.write(i);
}
System.out.println("Image received");
}catch(Exception FromClient ){
System.out.println("Image wasn't received");
}
fout.flush();
fout.close();
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Open Matlab Connection in order to Make the Face Detection ////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
try{
MatlabProxyFactoryOptions options =
new MatlabProxyFactoryOptions.Builder()
.setUsePreviouslyControlledSession(true)
.build();
MatlabProxyFactory factory = new MatlabProxyFactory(options);
MatlabProxy proxy = factory.getProxy();
proxy.eval("addpath('C:\\Users\\Theojim')");
proxy.eval("run('firsttry.m')");
proxy.eval("rmpath('C:\\Users\\Theojim')");
System.out.println("Matlab Done");
// close connection
proxy.disconnect();
}
catch(Exception Matlab){
System.out.println("Matlab Error");
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Epistrofh Shmeiwn Proswpou apo text file ////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
try{
String sCurrentLine;
BufferedReader br = null;
br = new BufferedReader(new FileReader("C:\\ImagesReceived\\facepoints.txt"));
String points="";
while ((sCurrentLine = br.readLine()) != null) {
points+=sCurrentLine;
}
System.out.println(points);
DataOutputStream outToClient = new DataOutputStream(clientSocket.getOutputStream());
outToClient.writeBytes(points);
System.out.println("points sent to android");
}catch(Exception Points){
System.out.println("Points Failed to be sent to client");
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Epistrofh Eikonas Face Detected ////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//try{
// int j;
// FileInputStream file = new FileInputStream("C:\\ImagesReceived\\face.jpg");
//DataOutputStream stream = new DataOutputStream(clientSocket.getOutputStream());
// while ((j = file.read()) > -1) {
// System.out.println("While starts"+j);
// stream.write(j);
//stream.flush();
//System.out.println("While endss");
//}
//System.out.println("While exits");
//file.close();
//stream.close();
dis.close();
//}
//catch(Exception ImageFace){
//System.out.println("Face.jpeg Failed to be sent to client");
//}
clientSocket.close();
}
}catch(Exception IO){
System.out.println("ERROR");
}
}
}
最后,我将发送 logat 文件的最后一部分,以查看到底发生了什么。请帮忙!!!!
05-26 22:05:59.715 16000-16491/com.example.theojim.myapplication D/myTag﹕ Test message11
05-26 22:05:59.716 16000-16491/com.example.theojim.myapplication D/myTag:无法从服务器读取
最佳答案
服务器读取直到流结束。客户端需要关闭套接字才能传递流结束。
关于Java Socket 服务器客户端代码卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30121874/
我想在一些计算机之间建立点对点连接,这样用户就可以在没有外部服务器的情况下聊天和交换文件。我的第一个想法如下: 我在服务器上创建了一个中央 ServerSocket,所有应用程序都可以连接到该服务器。
我正在 Unity 中构建多人游戏。为此,我必须将一些值从客户端发送到两个或多个通过服务器连接的客户端。我想将其构建为服务器真实游戏。客户端将使用 Android,他们的数据将通过服务器同步(可能是一
练习 C 网络编程:我正在编写一个简单的 TCP 客户端-服务器应用程序,它应该将消息(在每个客户端的单独线程中)作为字符串从服务器发送到客户端并在客户端(稍后将成为控制台商店应用程序)。我首先发送消
我使用证书身份验证设置了 AWS Client VPN。我正在为客户端-客户端访问系统进行设置,基本上如 this AWS scenario/example 中所述.一切正常,如果我知道他们的 IP
我正在开发一个小型客户端1/客户端2、服务器(线程)TCP 游戏。在尝试处理延迟问题时,我意识到我的 transmitState() 中存在缺陷。它强制将不必要的信息传递到通讯流中,从而造成迟缓,将汽
来自文档:Configurable token lifetimes in Azure Active Directory (Public Preview) 它提到“ secret 客户端”,刷新 tok
Apollo 客户端开发工具无法连接到我的应用程序。我已在 ApolloClient 构造函数中将 connectToDevTools 传递为 true,但没有任何 react 。我也试过this p
我想在 Pod 内使用 Fabric8 kubernetes 客户端 (java)。如何获取部署集群的 kubernetes 客户端? 我可以使用该集群的 kubeconfig 文件获取任何集群的配置
我正在阅读 the security issue with Log4j我了解此产品受此漏洞影响。但是 Oracle 客户端 11.2 和 12 是否受此问题影响? 我找不到这些产品是否使用任何 Log
Eureka 服务器设置 pom.xml 1.8 Hoxton.SR1 org.springframework.cloud spring
我有一个点对点(客户端/服务器)设置(通过本地 LAN),它使用 Netty,一个 Java 网络框架。我使用原始 TCP/IP(例如,没有 HTTP)进行通信和传输。现在,根据要求,我们希望转向 T
上一篇已经实现了ModbusTcp服务器和8个主要的功能码,只是还没有实现错误处理功能。 但是在测试客户端时却发现了上一篇的一个错误,那就是写数据成功,服务器不需要响应。 接下来要做的就是实现Modb
有没有办法将二维十六进制代码数组转换为 png 图像? 数组看起来像这样(只是更大) [ [ '#FF0000', '#00FF00' ], [ '#0000FF'
我是套接字编程的新手。每次我运行客户端程序时,它都会说“无法连接到服务器”。谁能告诉我我在哪里犯了错误。任何帮助将不胜感激。 这是client.c #include #include #inclu
我们在UNIX环境下制作了简单的client.c和server.c程序。我们使用它来传输一个简单的文本文件,首先打开它,然后读取它并使用 open、read 和 send 系统调用发送;在客户端,我接
当我的程序来自 my previous question正在响应客户端,它应该发送加密消息。 当客户端连接时,它会发送一条类似“YourMessage”的消息。现在我想做的是,当客户端连接时,应该以某
我正在使用 C 和 putty 编写客户端/服务器程序。两个 c 文件位于同一系统上。 我目前在向客户端写回其正在使用的框架以及打印我的框架时遇到问题。它打印出 3 0 9 8,但随后开始打印 134
我正在使用 C 中的 select() 制作一个模拟快餐或其他任何东西的客户端服务器。 我有客户随机点 1-5 种“食物”。服务器每 30 秒决定一次。所有客户最喜欢的食物是什么?他为那些客户提供服务
对于单机游戏,基本的游戏循环是(来源:维基百科) while( user doesn't exit ) check for user input run AI move enemies
1、CentOS安装TortoiseSVN 复制代码 代码如下: yum install -y subversion 2、SVN客户端命令
我是一名优秀的程序员,十分优秀!