質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

1回答

2114閲覧

Unityとサーバー内にあるphpの連動が出来なくなった

zenobread

総合スコア44

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2019/01/09 06:21

急にUnityとサーバーにあるphpと通信が出来なくなりました。
一度通信が出来ていたために、何が問題かわかりません。

やったこと

phpファイルはxamppのサーバーに配置しているので、apacheのエラーログやアクセスログを確認してみました。
結果エラーログには何も出ておらず、アクセスログもありませんでした。
またUnityからデータを入力するのにはドロップダウンボタンやボタンを使っているのですが
そちらにスクリプトが張られているかどうかも確認しました。しかし
スクリプトも問題なく指定できていました。

下に問題のコードを張ります。
www.errorには
HttpPost NG:Request timeout
と帰ってきました。

追記

まさか関係ないとは思うのですが
フォントをデフォルトのArialから別のフォントに変えました。

C#

1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4using UnityEngine.UI; 5using UnityEngine.Networking; 6public class PHPTEST : MonoBehaviour 7{ 8 public Text ResultText_; 9 public GameObject Drop_1; 10 public GameObject Drop_2; 11 Dropdown_1 drop; 12 Dropdown_2 drop2; 13 private string time; 14 public int callory_time; 15 private string ServerAddress = "http://localhost/php/API_req.php"; 16 // Use this for initialization 17 void Start() 18 { 19 drop = Drop_1.GetComponent<Dropdown_1>(); 20 drop2 = Drop_2.GetComponent<Dropdown_2>(); 21 } 22 public void SendSignal_Button_Push() 23 { 24     //ドロップダウンボタンでNavitimeみたいに駅名を指定し、駅名が入力されていなければ 25     //デバッグログで返す、というこれも動かないです 26 if(drop.rel==null||drop2.rel2==null){ 27 Debug.Log("値が入力されていません"); 28 ResultText_.GetComponent<Text>().text = null; 29 return; 30 } 31 StartCoroutine("Access"); 32 Debug.Log(drop.rel); 33 Debug.Log(drop2.rel2); 34 } 35 36 private IEnumerator Access() 37 { 38     //ドロップダウンで指定した駅をDictionaryで連想配列をつくる 39 Dictionary<string, string> dic = new Dictionary<string, string> 40 { 41 { "id_1", drop.rel}, 42 { "id_2", drop2.rel2 } 43 }; 44 Debug.Log(dic["id_1"]); 45 Debug.Log(dic["id_2"]); 46 StartCoroutine(Post(ServerAddress, dic)); 47 yield return 0; 48 } 49 50 private IEnumerator Post(string url, Dictionary<string, string> post) 51 { 52     //WWWformにドロップダウンから入力されたデータを入れる 53 WWWForm form = new WWWForm(); 54 foreach (KeyValuePair<string, string> post_arg in post) 55 { 56 form.AddField(post_arg.Key, post_arg.Value); 57 } 58     //WWWformをUnityWebRequestでPOSTする 59 UnityWebRequest www = UnityWebRequest.Post(ServerAddress,form); 60 61 Debug.Log(ServerAddress); 62 www.timeout = 30; 63 yield return www.SendWebRequest(); 64 65 if (www.error != null) 66 { 67 Debug.Log("HttpPost NG:" + www.error); 68 } 69 else if (www.isDone) 70 { 71       //返ってきたデータを表示する 72 Debug.Log(www.downloadHandler.text); 73 time = www.downloadHandler.text; 74 ResultText_.GetComponent<Text>().text =time; 75 callory_time = int.Parse(time); 76 77 www=null; 78 } 79 } 80 81 82 // Update is called once per frame 83 void Update() 84 { 85 86 } 87} 88

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

azuapricot

2019/01/09 06:25

繋がっていたときから変更した部分って本当にフォントだけですか? それとも一度繋がったのを確認しただけで、 その後いろいろ変更していて気が付いたら繋がらない~っていう状態でしょうか
zenobread

2019/01/09 07:02

ご質問ありがとうございます。 azuapricot様、こちらのC#に手を加えていない(はず)ですが、Dropdownscriptを何度か変更したのち、Unityを再起動したところ今回の異常が発生しました。そちらはサーバーを使用しないスクリプトです。 papinianus様 ご提示されたURLは開くことが出来ず、また&quot;を消して試してみたところずっとchromeの検索状態が続いています。
papinianus

2019/01/09 07:05

なんか投稿後に変になりましたが、これは質問者様のコードのServerAddressに格納される文字列です。Timeoutしているのでサーバが生きているかを確認したほうがいいかと思ってのコメントでした。
zenobread

2019/01/09 07:07

また関係ないとは思いましたが phpMyadminもかなり開くのが遅くなっています。 例えばyoutubeはいつも通りの速度で開くことが出来るので もしかするとxampp自体が問題でしょうか
zenobread

2019/01/09 07:09

phpMyadminを開くことはできるのでSQLサーバーは生きているのですが、もしかするとapacheの方が問題あるかもと考えました。
papinianus

2019/01/09 07:12

phpMyAdminが生きているならapacheは生きています。では、httpサーバやDBは大丈夫そうですね。
zenobread

2019/01/09 13:54

別の回答者様にも返答したのですが、おそらくC#ファイルではなくサーバー側に何らかの問題があるんではないかと考えたんですが、可能性としてはどうでしょうか?apacheも生きているにもかかわらずこういったエラーは起こりえるのでしょうか?
guest

回答1

0

ベストアンサー

質問頂きありがとうございます!
Webブラウザなどを使いサーバー側が単体で動作するか確認してみてはどうでしょうか?

投稿2019/01/09 10:13

bochan2

総合スコア2050

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

zenobread

2019/01/09 13:53

ありがとうございます。 どういうわけか、phpmyadminは起動するのですがサーバー内にあるphpファイルは軒並み応答時間が長すぎます、とエラーメッセージがブラウザ側で表示され開くことが出来ません。おそらくここに問題があるのではないかと思うのでまず調べてみることにします 解決出来次第報告させていただきたいと思います
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問