C#TCP异步服务器和客户端咋连接?

如题所述

TCP服务器端的客户端使用的方法不一样,服务器被叫,客户端主叫。服务器程序,设定一个端口用于客户端呼叫连接,声明一个socket绑定到这个端口,侦听客户端呼叫即可。客户端声明一个socket,通过客户端socket对服务器指定端口发出连接请求(主叫),服务器相应此连接请求,建立连接,然后就可以互相通讯了。
服务器和客户端,就是在主叫与被叫上有区别,建立连接后,数据的收发都是一样的。追问

异步同步!!异步,你说的是啥?这是异步?不是面向连接?TCP同步?
异步服务器可以和多个客户端对话,不像TCP同步,“一问一答”异步是一个大型的TCP通话技术!
回调函数!!!
哎呀,不说了。

追答

了解IOCP吗?这项技术可不好掌握,不知道你对通讯技术了解到什么程度,这个很难几句话说得清。先把IOCP弄明白吧,这已经是最好的异步通讯技术了。

追问

(⊙o⊙)…
这问题是C#,你学的啥

追答

我是一家工业自动化企业的上位机软件设计师,使用的就是C#,主要技术手段就是TCP异步通讯。

追问

.............这不就尴尬了(⊙o⊙)…
你直接给俺把异步的 那个服务器,客户端,写出来不就完了
那个回调函数,搞不懂(⊙o⊙)

追答

这样的程序上万行代码,还是有公司保密性质的,不能给你。
public event EventHandler OnClientConnect; // 客户端已经连接事件
像这样在服务器TCP类定义一个自定义事件,
EventHandler handler = OnClientConnect;

// 如果订户事件为空(null)
if (handler != null)
{
handler(this, token);// 抛出客户端连接事件
}
侦听里面做事件抛出。
服务器端程序响应这个事件就行了。

温馨提示:答案为网友推荐,仅供参考