private string OnReceivedData(IAsyncResult ar)
{
if (!ar.IsCompleted)
{
return null; // 这个也是新改的,原来没有返回null;
}
Socket s = (Socket)ar.AsyncState;
try
{
int size = s.EndReceive(ar);
//string ss = "";
string sss = "";
if (size > 0)
{
for (int i = 0; i < size; i++)
{
sss += bufferReceive[i].ToString("x2");
}
return sss; // 这句是新改的,为了将收到的东西返回出去
//counterRosTimes++;
//ShowMsg(sss);
}
s.BeginReceive(bufferReceive, 0, 1024, SocketFlags.None, new AsyncCallback(OnReceivedData), s);
红色地方,提示错误, 返回值类型不匹配
上面是socket异步通信时的,接受函数, 开始时,上述代码都放在一个文件中
也都能正常工作的
现在我想把通信部分抽离出来,,单独封装到一个类文件中
于是就出现了上面问题
不知道如何修改呢?
谢谢
}
catch (SocketException E)
{
}
{
if (!ar.IsCompleted)
{
return null; // 这个也是新改的,原来没有返回null;
}
Socket s = (Socket)ar.AsyncState;
try
{
int size = s.EndReceive(ar);
//string ss = "";
string sss = "";
if (size > 0)
{
for (int i = 0; i < size; i++)
{
sss += bufferReceive[i].ToString("x2");
}
return sss; // 这句是新改的,为了将收到的东西返回出去
//counterRosTimes++;
//ShowMsg(sss);
}
s.BeginReceive(bufferReceive, 0, 1024, SocketFlags.None, new AsyncCallback(OnReceivedData), s);
红色地方,提示错误, 返回值类型不匹配
上面是socket异步通信时的,接受函数, 开始时,上述代码都放在一个文件中
也都能正常工作的
现在我想把通信部分抽离出来,,单独封装到一个类文件中
于是就出现了上面问题
不知道如何修改呢?
谢谢
}
catch (SocketException E)
{
}
解决方案 »
- FORM.SHOW();和FORM_LOAD()问题
- 常见的网络攻击揭秘
- 求助
- VS2005 import or export settings 中windows layout 失效
- 求助,这样的SQL语句如何实现
- 怎样把逻辑表的数据推到物理表中?
- 怎么将Session里的一张表Session["myCartTable"]存一个自建的ASPNET数据库中啊??
- 急!关于在Web窗体中使用自定义javascript函数的问题
- 如何选用.NET的语种(C#、VB、C++)开发合适的软件项目???
- 怎么把数据库中的某列循环写入数组并且与select选择的值进行比较
- 请教关于C# 读取XML文件的问题
- 【求教】请教一个关于子窗体的问题
IAsyncResult ar
)
需要无返回类型的方法作为回调
//ShowMsg(sss);
这个句就是要将结果,显示到界面上去的
比如txtBox内 ,,这个新的类文件里,没找到操作办法呀
protected virtual void OnDataReceived(string msg) {
if(DataReceived != null) {
DataReceived(this, new DataReceivedArgs(msg));
}
}
class DataReceivedArgs : EventArgs {
public string Msg{get; protected set;} public DataReceivedArgs(string msg) {
Msg = msg;
}
}外面挂载这个事件