訪客
|
Re: 請問關於socket的使用方式
|
|||
---|---|---|---|---|
你好~我現在也在測試socket,
但是我也遇到了一樣的問題, 在測試 ssSocket 是否為 INVALID_SOCKET都很正常. 但使用 TCPIsConnected(ssSocket)時就會是false, 我已經改成用4.51版裡的TCPIP DEMO APP, 但是還是沒辦法解決,可以請問你後來是怎麼解決的呢? 謝謝! |
||||
|
Re: 請問關於socket的使用方式
|
||||
---|---|---|---|---|
新會員
|
哇!!!
可以了!! 用大大你的那個4.51版裡的TCPIP DEMO APP~ 然後加入我的連線,就終於成功啦~ 我的CHAT可以抓到實驗版連進來~ TCPIsConnected(ssSocket)也終於給我true了哈^^ 煩了2天了,終於能解決這一步了 . 真的是太感謝你囉~^^
發表於: 2008/9/5 17:02
|
|||
|
Re: 請問關於socket的使用方式
|
||||
---|---|---|---|---|
新會員
|
是啊,我用他的內部範例時,都可以連上網頁.
但我自已寫socket時就沒辦法了~"~ 我來試試你的範例程式能不能用@@"
發表於: 2008/9/5 16:16
|
|||
|
Re: 請問關於socket的使用方式
|
||||
---|---|---|---|---|
高級會員
|
參照:
你的意思是說, 你可以連上線, 但是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. |
||||
|
Re: 請問關於socket的使用方式
|
||||
---|---|---|---|---|
新會員
|
我是用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
|
|||
|
Re: 請問關於socket的使用方式
|
||||
---|---|---|---|---|
高級會員
|
請問你事用哪一塊實驗版 和 哪一隻程式
如果都是正確的東西,那你可以用它內部先做好的DEOM去測試 不會太難喔,沒有的話去準備一份吧 不要浪廢太多力氣,在不對的東西上 補充一下 >>TCPIsConnected(ssSocket)時,就一直回傳false... 那是代表你沒有連上線, 有可能是真的"沒連上線",或是Server錯誤, 沒有符合他的規範 所以會再HELP裡面有說明,
發表於: 2008/9/5 14:57
|
|||
----------------------------------
Never say die. And Knowledge is power. |
||||
|
Re: 請問關於socket的使用方式
|
||||
---|---|---|---|---|
新會員
|
感謝指點.
在我去看了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
|
|||
|
Re: 請問關於socket的使用方式
|
||||
---|---|---|---|---|
高級會員
|
剛剛查了一下 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. |
||||
|
Re: 請問關於socket的使用方式
|
||||
---|---|---|---|---|
高級會員
|
#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. |
||||
|