1樓:匿名使用者
程式語言不同語法不同,拋開語法談思路。使用套接字連線有同步和非同步兩種方式,強烈建議使用非同步通訊,思路是這樣的:
1,服務端程式設計:使用非同步套接字函式(有些古老語言不提供這樣的函式,就得使用windows api提供的函式了)監聽一個埠,一旦收到資料馬上提交給處理函式(自己編寫的)在另一的執行緒中處理資料,並且本執行緒仍舊繼續(自動的)監聽該埠。工作就是這樣周而復始的。
2,客戶端程式設計:很簡單,編寫使用函式(還是,古老語言可能不提供該函式,還得使用windows api)傳送給服務端ip和埠的資料程式就行了。
懂得這個思路你將來就能夠漸漸編寫出網路應用程式了
socket程式設計,兩個不同的內網怎麼連線
2樓:齊先生
內網和內網是不可以的,必須有一個公網的ip做中介了,這樣講一般伺服器端建立在公網上面時刻監聽來自內網或者公網的客戶端程式的連線。
怎麼用socket使不同區域網的兩臺具有相同ip的主機通訊
3樓:廖增祥
既然是跨區域網,要能連線到對方的話,必須使用公網,比如:北京的這臺機器對應的路由器上設定一個埠**,讓來自外網的某個埠轉到內網的192.168.
1.2的主機上,讓這臺機器做伺服器,然後讓廣州的那臺機器做客戶端,去連線北京那個路由器的ip+埠號即可,反之亦然。
怎麼寫一個socket程式設計,不管是udp的還是tcp的,可以不在同一個區域網中通訊?
4樓:匿名使用者
需要有一個登陸伺服器,不管客戶端在**登陸後,會在伺服器登記其ip和埠,其使用者端需要聯絡對方時,可將訊息現發給伺服器,由伺服器**對方;或者從伺服器獲取對方的ip和埠,直接傳送過去。
c# socket網路程式設計,如何實現多客戶端和伺服器通訊 ?
5樓:匿名使用者
伺服器端:
namespace socketserver
成功", serversocket.localendpoint.tostring());
//通過clientsoket傳送資料
thread mythread = new thread(listenclientconnect);
mythread.start();
console.readline();
}///
/// 監聽客戶端連線
///private static void listenclientconnect()
}///
/// 接收訊息
//////private static void receivemessage(object clientsocket)
訊息", myclientsocket.remoteendpoint.tostring(), encoding.
ascii.getstring(result, 0, receivenumber));
}catch(exception ex)}}
}}客戶端:
namespace socketclient
catch
//通過clientsocket接收資料
int receivelength = clientsocket.receive(result);
console.writeline("接收伺服器訊息:",encoding.ascii.getstring(result,0,receivelength));
//通過 clientsocket 傳送資料
for (int i = 0; i < 10; i++)
" + sendmessage);
}catch
}console.writeline("傳送完畢,按回車鍵退出");
console.readline();}}}
6樓:匿名使用者
服務端要有客戶端列表,你服務端可能就一個客戶端物件,寫成陣列。
java的socket程式設計同區域網還能搞定但是
伺服器ip多少就用多少唄,看實際ip,不是區域網ip java socket問題,兩個不同區域網子機如何建立連線 如果a b兩個區域網都在公網,或者都是鐵通等內網就可以。把需要用的埠在路由器上對映到執行socket的伺服器上。就能相互訪問了。不過如果一個是鐵通 一個是電信就不行。鐵通屬大內網,而且不...
對於區域網的網路通訊程式設計socket我會但是對
道理是一樣的,只不過在程式設計的時候使用網際網路的域名或ip地址即可。用協議。比如http。怎麼寫一個socket程式設計,不管是udp的還是tcp的,可以不在同一個區域網中通訊?需要有一個登陸伺服器,不管客戶端在 登陸後,會在伺服器登記其ip和埠,其使用者端需要聯絡對方時,可將訊息現發給伺服器,由...
兩個路由器怎麼連區域網宿舍兩個路由器斷網情況下連區域網打CS魔獸什麼的怎麼弄啊
好了沒有啊 你只要把其中一個路由器當交換機用就可以了 一般路由器的dhcp都是開啟的 具體如下 選其中一個路由器 就叫路由器b吧 上電 拉根網線連線到你的電腦上如 路由器b的lan1口接你電腦網絡卡上 開啟ie 在位址列輸入192.168.1.1或者是192.168.0.1 輸入使用者名稱 密碼 具...