如今只是学了一点C#的皮毛,因此接触的较多的是用visual studio创建的控制台应用程序,所以,采用的是在vs平台下的控制台项目编写的C#socket通讯代码。linux
首先要明白,云服务器,不是多么难懂的东西,它本质上就是一台放在远处,而且一直在运行的计算机。Socket通讯既然能够实现两台(甚至是多台)计算机之间的通讯,那么固然也能够实现本地计算机与云服务器的链接。这里,我是用的是腾讯云提供的1元学生惠的windows系统的云服务器,由于对于windows系统比较熟悉,因此采用的是windows系统。 其实,我也一直在想,是否是应该学习一下linux系统,看了看,实在是不知从何下手,若是有时间,真的想学一下linux。windows
socket通讯的代码,网上有不少,能够直接借鉴过来,只要懂一点程序,看懂代码应该不难。重要的是要把代码粘贴或者手敲到控制台中,这样能够经过实际运行,一步步调试看懂代码的具体含义,注意,在运行代码时,要先运行服务器端代码,再启动客户端代码,顺序不能颠倒。运行服务器端代码,socket套接字会监听服务器端的某端口(端口号本身设定),等待客户端的链接,创建链接后,再经过send() receive()方法进行客户端与服务器端的数据传送,服务器、客户端均可以收发数据。通常来讲,都是经过字节数组的形式进行接收数据,这里就又要求解码与编码了。我用的是在服务器端先将数据转换为string类型,再转换为byte数组,发送到客户端,客户端接收字节数组后,再解码成string类型,这样不会出现格式错误、不能正常显示的问题。数组
在学习代码时,我很迷惑的是,为何查到的全部代码中,写的地址都是127.0.0.1,我明白socket通讯中,地址必须写服务器端地址,这样客户端才知道是要链接哪一个服务器。后来明白,127.0.0.1是表明系统的回送地址,也就是用于在本机测试,编写的Socket通讯代码是否能成功链接并进行数据传送,测试成功后,能够把服务器端应用程序(.exe文件 可在projects中找到)放到你想放的服务器中,可是注意地址不能再写127.0.0.1 而是要写成你服务器端的ip地址,云服务器的ip地址,就是你购买云服务器后告诉你的公网ip,例如,个人是139.199.22.*** 而后按以前的顺序,先运行服务器端代码,再运行客户端代码。服务器
(在Visual Studio中,如何同时运行两个或多个项目? 运行一个以后,在另外一个想要运行的项目右击项目名--->启动新实例)