• slider image 442
  • slider image 483
  • slider image 484
  • slider image 485
  • slider image 486
  • slider image 487
:::


Browsing this Thread:   1 Anonymous Users




(1) 2 »


Re: 請問關於socket的使用方式
#11
新會員
新會員


查看用戶資訊
使用Microchip's TCP/IP Stack時,要注意程式寫法。要使用協同多工方式(cooperative multitasking)去撰寫程式。

以我對於三年前Microchip's TCP/IP Stack的理解,下面的程式應該是會一直無法令if條件式成立:
while(1)
{
if( TCPIsConnected(ssSocket))
{
PRINT("A.A");
}
}

不知seruze您是怎麼成功呢?可否貼一小段有關這部份的程式。我以好幾年沒使用此堆疊的TCP協定做事,都是使用UDP協定,對於TCP這部份我很好奇。麻煩您了,謝謝。

發表於: 2009/1/16 23:36
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


訪客
Re: 請問關於socket的使用方式
#10
你好~我現在也在測試socket,
但是我也遇到了一樣的問題,
在測試 ssSocket 是否為 INVALID_SOCKET都很正常.
但使用 TCPIsConnected(ssSocket)時就會是false,
我已經改成用4.51版裡的TCPIP DEMO APP,
但是還是沒辦法解決,可以請問你後來是怎麼解決的呢?
謝謝!

Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問關於socket的使用方式
#9
新會員
新會員


查看用戶資訊
哇!!!
可以了!!
用大大你的那個4.51版裡的TCPIP DEMO APP~
然後加入我的連線,就終於成功啦~
我的CHAT可以抓到實驗版連進來~
TCPIsConnected(ssSocket)也終於給我true了哈^^
煩了2天了,終於能解決這一步了 .
真的是太感謝你囉~^^

發表於: 2008/9/5 17:02
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問關於socket的使用方式
#8
新會員
新會員


查看用戶資訊
是啊,我用他的內部範例時,都可以連上網頁.
但我自已寫socket時就沒辦法了~"~
我來試試你的範例程式能不能用@@"

發表於: 2008/9/5 16:16
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問關於socket的使用方式
#7
高級會員
高級會員


查看用戶資訊
參照:

seruze 寫道:

在使用他的內部範例,如solution6時,都可以連上線.
連至我的電腦看到頁面.
但我使用socket卻一直沒辦法成功.
網路是沒有問題的才對呀..
卻無論如何都沒辦法回傳true....~"~

很苦腦.


你的意思是說, 你可以連上線, 但是socket 錯誤(呵呵呵 這就神奇了)

會不會是你看錯程式呀 =.=

我要去研究看看了


BTW 我不是用RTC, 我是用 Demo 程式 (所有範例都比較完整)

Microchip TCP/IP Stack v4.51 for PIC18, PIC24, dsPIC and PIC32 MCU families
http://ww1.microchip.com/downloads/en ... k%20v4.51%20Installer.zip

發表於: 2008/9/5 16:11
----------------------------------
Never say die. And Knowledge is power.
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問關於socket的使用方式
#6
新會員
新會員


查看用戶資訊
我是用Exploer 16這一個版子.
Microchip TCPIP Stack COM4201 1.01.exe這個安裝完後.
會有mpfs2和tcpipconfig精靈等等..
裡面的範例程式是用mpfs2上傳一個自已寫的html到晶片上.
在這裡放的範例好像都沒有socket相關的程序..

但我想利用socket來傳信號.
於是就將裡頭的solution6這個範例檔做修改.
在裡面額外加入TCPinit();
以及相關的指令,如我第一篇寫的那些.

在使用他的內部範例,如solution6時,都可以連上線.
連至我的電腦看到頁面.
但我使用socket卻一直沒辦法成功.
網路是沒有問題的才對呀..
卻無論如何都沒辦法回傳true....~"~

很苦腦.

發表於: 2008/9/5 15:37
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問關於socket的使用方式
#5
高級會員
高級會員


查看用戶資訊
請問你事用哪一塊實驗版 和 哪一隻程式

如果都是正確的東西,那你可以用它內部先做好的DEOM去測試
不會太難喔,沒有的話去準備一份吧

不要浪廢太多力氣,在不對的東西上


補充一下
>>TCPIsConnected(ssSocket)時,就一直回傳false...

那是代表你沒有連上線,
有可能是真的"沒連上線",或是Server錯誤, 沒有符合他的規範
所以會再HELP裡面有說明,

發表於: 2008/9/5 14:57
----------------------------------
Never say die. And Knowledge is power.
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問關於socket的使用方式
#4
新會員
新會員


查看用戶資訊
感謝指點.
在我去看了TCPIP STACK的HELP文件~
發現可以直接使用TCPOPEN來開啟.
網址或IP可以直接以字串來定義,很方便

於是我直接套用他的指令
ssSocket = TCPOpen((DWORD)
  (PRT_BASE)"www.microchip.com",
   TCP_OPEN_ROM_HOST , 80 ,
    TCP_PURPOSE_DEFAULT);

但還是一樣都沒有辦法連上耶..~"~
在測試 ssSocket 是否為 INVALID_SOCKET都很正常.
但使用 TCPIsConnected(ssSocket)時,就一直回傳
false...
也試過將"www.microchip.com"換成知道的
ip位址,但結果也還是不行.
真不知道是哪裡出了問題.

發表於: 2008/9/5 14:22
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問關於socket的使用方式
#3
高級會員
高級會員


查看用戶資訊
剛剛查了一下 AN833是比較舊的Stack 去下載最新的吧

TCPOpen Function

TCP_SOCKET TCPOpen(
DWORD dwRemoteHost,
BYTE vRemoteHostType,
WORD wPort,
BYTE vSocketPurpose
);

Remarks
This function replaces the old TCPConnect and TCPListen functions.


Example
// Open a server socket

skt = TCPOpen(NULL, TCP_OPEN_SERVER, HTTP_PORT, TCP_PURPOSE_HTTP_SERVER);

// Open a client socket to www.microchip.com
// The double cast here prevents compiler warnings

skt = TCPOpen((DWORD)(PTR_BASE)"www.microchip.com", TCP_OPEN_ROM_HOST, 80, TCP_PURPOSE_DEFAULT);

// Reopen a client socket without repeating DNS or ARP

SOCKET_INFO cache = TCPGetSocketInfo(skt); // Call with the old socketskt = TCPOpen((DWORD)(PTR_BASE)&cache.remote, TCP_OPEN_NODE_INFO, cache.remotePort.Val, TCP_PURPOSE_DEFAULT);

發表於: 2008/9/5 13:48
----------------------------------
Never say die. And Knowledge is power.
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問關於socket的使用方式
#2
高級會員
高級會員


查看用戶資訊
#define TCPConnect(remote,port) TCPOpen((DWORD)remote, TCP_OPEN_NODE_INFO, port, TCP_PURPOSE_DEFAULT)

你所使用的是 define 後的 function,應該是TCPOpen,使用上的錯誤,

你去下載最新的 'TCPIP Stack' 4.5x ,它的說明檔 'TCPIP Stack Help.chm'
會有正確引數的作法.


發表於: 2008/9/5 13:39
----------------------------------
Never say die. And Knowledge is power.
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]


:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------