質問編集履歴

3

変更

2017/11/27 11:58

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -128,11 +128,21 @@
128
128
 
129
129
 
130
130
 
131
+
132
+
133
+
134
+
135
+ #変更したコード
136
+
137
+
138
+
139
+
140
+
131
141
  keicha_hrsさんから教えていただいた通り、UIスレッドではない、別のスレッドを作成して通信処理を実装しなければなならないのでAsyncTaskを使うとうまくいきました。
132
142
 
133
143
 
134
144
 
135
- #変更したコード
145
+
136
146
 
137
147
  ```java
138
148
 

2

変更

2017/11/27 11:58

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -125,3 +125,173 @@
125
125
 
126
126
 
127
127
  どこが間違っているのか教えていただけないでしょうか?
128
+
129
+
130
+
131
+ keicha_hrsさんから教えていただいた通り、UIスレッドではない、別のスレッドを作成して通信処理を実装しなければなならないのでAsyncTaskを使うとうまくいきました。
132
+
133
+
134
+
135
+ #変更したコード
136
+
137
+ ```java
138
+
139
+ package com.example.ueday.netcat;
140
+
141
+
142
+
143
+ import android.app.Activity;
144
+
145
+ import android.os.AsyncTask;
146
+
147
+ import android.support.v7.app.AppCompatActivity;
148
+
149
+ import android.os.Bundle;
150
+
151
+ import android.view.Menu;
152
+
153
+ import android.view.View;
154
+
155
+ import android.widget.Button;
156
+
157
+ import android.widget.TextView;
158
+
159
+ import android.widget.Toast;
160
+
161
+
162
+
163
+ import java.io.BufferedReader;
164
+
165
+ import java.io.BufferedWriter;
166
+
167
+ import java.io.IOException;
168
+
169
+ import java.io.InputStreamReader;
170
+
171
+ import java.io.OutputStream;
172
+
173
+ import java.io.OutputStreamWriter;
174
+
175
+ import java.net.Socket;
176
+
177
+ import java.net.UnknownHostException;
178
+
179
+
180
+
181
+ public class MainActivity extends Activity {
182
+
183
+
184
+
185
+ private TextView mTextView;
186
+
187
+ private String mHost = "google.com";
188
+
189
+ private int mPort = 80;
190
+
191
+ private String mPath = "";
192
+
193
+ private String mUserAgent = "Mozilla/5.0 (Linux; U; Android 4.0.4; ja-jp; SC-06D Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30";
194
+
195
+
196
+
197
+ @Override
198
+
199
+ protected void onCreate(Bundle savedInstanceState) {
200
+
201
+ super.onCreate(savedInstanceState);
202
+
203
+ setContentView(R.layout.activity_main);
204
+
205
+ mTextView = (TextView)findViewById(R.id.TextView01);
206
+
207
+
208
+
209
+ Button btn = (Button) findViewById(R.id.Button01);
210
+
211
+ btn.setOnClickListener(new View.OnClickListener() {
212
+
213
+
214
+
215
+ @Override
216
+
217
+ public void onClick(View v) {
218
+
219
+ connect();
220
+
221
+ }
222
+
223
+ });
224
+
225
+
226
+
227
+
228
+
229
+ }
230
+
231
+
232
+
233
+ public void connect() {
234
+
235
+
236
+
237
+ new AsyncTask<Void, Void, String>() {
238
+
239
+
240
+
241
+
242
+
243
+ @Override
244
+
245
+ protected String doInBackground(Void... voids) {
246
+
247
+ try {
248
+
249
+ Socket socket = new Socket("10.0.33.13",4000);
250
+
251
+ OutputStream os = socket.getOutputStream();
252
+
253
+
254
+
255
+ BufferedWriter bufwriter
256
+
257
+ = new BufferedWriter(new OutputStreamWriter( os ) );
258
+
259
+ bufwriter.write("こんにちは");
260
+
261
+ bufwriter.newLine();
262
+
263
+
264
+
265
+ bufwriter.close();
266
+
267
+ socket.close();
268
+
269
+
270
+
271
+ } catch (IOException e) {
272
+
273
+ e.printStackTrace();
274
+
275
+ }
276
+
277
+ return null;
278
+
279
+ }
280
+
281
+ }.execute();
282
+
283
+
284
+
285
+ }
286
+
287
+
288
+
289
+
290
+
291
+
292
+
293
+ }
294
+
295
+
296
+
297
+ ```

1

変更

2017/11/27 11:21

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,54 +1,6 @@
1
1
  netcatを使いandroidからMacに文字を送りたいです。
2
2
 
3
- #NetCat.java
4
3
 
5
- ```java
6
-
7
- import java.io.*;
8
-
9
- import java.net.*;
10
-
11
-
12
-
13
- public class NetCat {
14
-
15
- public static void main(String[] args) throws Exception {
16
-
17
- try {
18
-
19
- Socket socket = new Socket("アドレス", ポート番号);
20
-
21
- DataOutputStream out = new DataOutputStream(socket.getOutputStream());
22
-
23
- BufferedReader reader =
24
-
25
- new BufferedReader(new InputStreamReader(System.in));
26
-
27
- String line;
28
-
29
- while ((line=reader.readLine()) != null) {
30
-
31
- out.writeBytes(line);
32
-
33
- out.writeBytes("\n");
34
-
35
- }
36
-
37
- socket.close();
38
-
39
- } catch (IOException e) {
40
-
41
- e.printStackTrace();
42
-
43
- }
44
-
45
- }
46
-
47
- }
48
-
49
-
50
-
51
- ```
52
4
 
53
5
 
54
6
 
@@ -164,7 +116,7 @@
164
116
 
165
117
  ```
166
118
 
167
- $ javac NetCat.java
119
+
168
120
 
169
121
  $ netcat -l -p ポート番号
170
122