2014年1月27日 星期一

[Python, Socket] Error Code: 98 Message Address Already in Use

最近在開發一些 Proof of Concept 的程式,使用到 Python 的 socket。

Socket server / client 的開發上並未遇到太大的問題,倒是後續的使用上時常遇上

Bind failed. Error Code: 98 Message Address already in use 這問題。

經過 Google 大神的指示,小弟透過這裡紀錄解決方法,以便後續查找!

問題發生的主因,似乎是 socket server 在 listen 的 port 被占住了!導致系統回報錯誤。

首先使用

sudo netstat -ltnp | grep ':YOUR PORT NUMBER'

上述的指令會回覆:

tcp   0   0 0.0.0.0:YOUR PORT NUMBER   0.0.0.0:*   LISTEN   30381/python

由此回覆,我們發現 YOUR PORT NUMBER 正使用 process 30381 ( 表示使用中 )

這時候把這一個 process kill 掉就可以解決問題囉!

sudo kill -9 30381

2014年1月22日 星期三

[Android] 如何改變 application 啟動的第一個 Activity (How to change app's starting activity?)

先前在開發 Android 的時候,遇上了一個很囧的問題。

就是新開發的 activity ( 不是新創專案就有的那個 activity ),

希望將它視為 application 一啟動後就載入的第一個 activity。

當然,遇到問題的第一步就是‧‧‧詢問 Google 大神囉!

找到的詳解為:

在專案的 AndroidManifest.xml 檔案中,將您預想 launch 的那一個 activity 修正為

<activity android:name=".Your app's starting activity"
    android:label="@string/app_name">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />                 </intent-filter>
</activity>


參考資料:http://ppt.cc/OpKg