伺服器端
第三步:監聽
第四步:接受客戶端,這裡遞迴非同步方法,如果socket不為null,遞迴執行接收訊息的非同步方法
第五步:把控制台的輸入傳送給所有已建立連線的客戶端
view code
using system;
using system.collections.generic;
using system.net;
using system.net.sockets;
using system.text;
using system.threading.tasks;
namespace socketutil
public socketserver(string ip, int port)
public async task startlistening()
public async task acceptasync()
}public async task receiveasync(socket socket)
}public async task sendasync(string msg)
}public void close()}}
控制台提供程式作為宿主
view code
using socketutil;
using system;
using system.threading.tasks;
namespace socket.server}}
}
客戶端第二步:通過傳入的ip和埠,socket物件與終結點建立連線(connectasync
方法)
第三步:子執行緒遞迴執行接收訊息的非同步方法
第四步:把控制台的輸入傳送給伺服器端
view code
using system;
using system.collections.generic;
using system.net;
using system.net.sockets;
using system.text;
using system.threading.tasks;
namespace socketutil
public socketclient(string ip, int port)
public async task startclient()
public async task receiveasync()
}public async task sendasync(string msg)
public void close()}}
控制台提供程式作為宿主
view code
using socketutil;
using system;
using system.threading.tasks;
namespace socket.client
); while (true)}}
}
第乙個spring入門案例
1.為什麼需要spring?如果a元件依賴於b元件,那麼這樣new的話,則硬編碼的耦合度高。使用spring的依賴注入,面向介面程式設計,防止了硬編碼的耦合。使用spring的aop的面向切面程式設計,使其更加的具有拓展性。2.第乙個使用spring的案例 package com.huxin.spr...
struts入門第乙個案例
1 寫乙個註冊頁面,把請求交給 struts處理 2 匯入struts開發包,並在web.xml檔案配置struts actionservlet 處理所有.do請求 actionservlet org.apache.struts.action.actionservlet config web inf...
第乙個Socket程式 test
在initdialog中新開乙個執行緒,作為server,bool csockettestdlg oninitdialog 設定此對話方塊的圖示。當應用程式主視窗不是對話方塊時,框架將自動 執行此操作 seticon m hicon,true 設定大圖示 seticon m hicon,false ...