e语言CreateSocket怎么使用
程序设计成为简单的服务端和客户端之间的通信, 但通过一些方法可以将这两者进行统一起来, 让服务端也成为客户端, 让客户端也成为服务端, 使它们之间可以互相随时不间断的通信。 考虑到实现最原始的服务端和客户端之间的通信所需要的步骤对于写这样的程序是很有帮助的。 ? ? ? ?作为服务端, 要声明一个Socket A并绑定(Bind)某一个IP 这个IP指定的通信端口, 比如这个是127。0。0。1:9050, 然后开始监听(Listen), Listen可以监听来自多个IP传过来的连接请求, 具体可以同时连接几个客户端, Listen方法中可以设定一个参数。 如果Listen到某一...全部
程序设计成为简单的服务端和客户端之间的通信, 但通过一些方法可以将这两者进行统一起来, 让服务端也成为客户端, 让客户端也成为服务端, 使它们之间可以互相随时不间断的通信。 考虑到实现最原始的服务端和客户端之间的通信所需要的步骤对于写这样的程序是很有帮助的。
? ? ? ?作为服务端, 要声明一个Socket A并绑定(Bind)某一个IP 这个IP指定的通信端口, 比如这个是127。0。0。1:9050, 然后开始监听(Listen), Listen可以监听来自多个IP传过来的连接请求, 具体可以同时连接几个客户端, Listen方法中可以设定一个参数。
如果Listen到某一个客户端发来连接请求了, 这时定义一个新的Socket B专门负责与这个客户端的通信, Socket B = A。Accept()。 这时可以获取这个客户端的IP和端口, ?IPEndPoint C = (IPEndPoint)B。
RemoteEndPoint, C。Address和C。Port分别表示客户端C的IP地址和端口。 这时通过B。Send()方法就可以给C发送消息了, B。Receive()可以接收客户端C发来的信息。
? ? ? ?作为客户端, 也需要声明一个Socket D并绑定某一个IP 本机一个未被占用的端口, 定义IPEndPoint E表示要进行连接的服务端Socket, 要指明E的IP和端口, 这样才可以进行端口对端口之间的通信, 接下来就可以尝试D。
Connect(E), 连接成功之后就可以发送和接收数据了, D。Send(), D。Receive。 ? ? ? ?发送消息时, 数据都是以字节或字节数组为单位进行传输的, 比如我客户端D要发送"Hello World"则要这样写: D。
Send(Encoding。ASCII。GetBytes("Hello World"))。 ?接受消息时, 也是以字节或字节数组, 比如服务端要接受D刚才发送的Hello World, 可以这样写: Byte[] data = new Byte[1024]; int receivedDataLength = B。
Receive(data); string stringdata = Encoding。ASCII。GetString(data, 0, receivedDataLength); stringdata这时就是Hello World。
? ? ? ?上面只是大概的阐述了服务端与客户端之间的通信过程, 在网上找到了具体的代码例子, 也贴过来参考参考。 这个例子没有将服务端与客户端统一起来, 他是分别写服务端和客户端的。收起