首页 > 编程知识 正文

tcp手机软件,socket编程用什么软件

时间:2023-05-03 22:58:29 阅读:18405 作者:1307

你好,我是yydmz。

最近,有个读者对网络编程很感兴趣,想写网络聊天软件,就问怎么动手。

我对网络编程很了解。 另外,还写了很多与网络相关的程序。 对于想学习网络编程的人来说,我的建议是写、调试、修改程序。

据我所知,很多人为了面试背诵过八股文,TCP握手三次,挥手四次,用过网络呼叫,但没有写过套接字编程。 啊,啊,啊。

今天,我们以最简单的TCP编程为例,实战网络编程,实现简单的聊天软件,感兴趣的朋友可以根据本程序进行修改。

因为读者在使用Windows,所以我打开了好几年没在使用Windows了,发现编程环境还是旧的VC 6.0,那就这样,开始写程序了。

yydmz手绘

服务端程序服务端程序如下。

# include stdio.h # include//Winsock2. h//Winsock接口#pragmacomment(lib,' ws2_32.lib ' )/Winsock实现//winsock库版本信息wversion requested=make word (1,1 ); 加载//0x0101或:257//winsock库以确定Winsock版本后,数据将写入wsaData的WSAstartup(Wversionrequested,wsaData ) //AF_INET表示TCP/IP协议家族//SOCK_STREAM通常默认采用TCP协议//0,unsignedintsocksrv=socket (af _ af _ stream addrSrv.sin_family=AF_INET; //TCP/IP协议家族addr SRV.sin _ addr.s _ un.s _ addr=in addr _ any; ADDRSRV.sin_port=htons(8888; //套接字对应的端口//套接字连接到IP和端口(IP标识主机,端口标识通信过程(bind ) socksrv,(SOCKADDR* ) addrSrv,sizeof ) SOCKADDR* ) ) Listen(socksRV,5; sockaddr _ in addr客户端; intlen=sizeof(sockaddr; unsignedintsockconn=accept (socks RV,) sockaddr * (addr客户端,len ); while(1) charsendbuf(100 )={0}; 扫描(' % s ',sendBuf ); send(sockconn,sendBuf,strlen ) sendBuf ) 1,0 ); //向客户端发送数据,最后参数通常为0 char recvBuf[100]={0}; recv(sockconn、recvBuf、100、0 ); printf(%s(n )、recvBuf; }关闭套接字(sock conn ); 闭合套接字(socks RV ); WSACleanup (; 返回0; }编译运行,运行服务端程序。

客户端程序接下来,我们来看看客户端程序。

# include Winsock2. h # include stdio.h # pragma comment (lib,' ws2_32.lib ' ) int main ) { WORD wVersionRequested; WSADATA wsaData; wversion请求=make word (1,1 ); wsa启动(wversion requested,wsaData ); socketsockclient=socket (af _ inet,SOCK_STREAM,0 ); SOCKADDR_IN addrSrv; addr SRV.sin _ addr.s _ un.s _ addr=inet _ addr (' 127.0.0.1 ' ); addrSrv.sin_family=AF_INET; ADDRSRV.sin_port=htons(8888; intret=connect(sockclient,) SOCKADDR* (addr SRV,sizeof ) sockaddr * ); while(1) charrecvbuf(100 )={0}; 锁定客户端、recvBuf、100、0 ); printf(%s(n )、recvBuf; char sendBuf[100]={0}; 扫描(' % s ',sendBuf ); send (sock客户端,sendBuf,strlen ) sendBuf ) 1,0 ); }关闭客户端(sock客户端); WSACleanup (; 返回0; }编译运行,运行客户端程序。 从结果中,实现了客户端和服务端的通信。 请强调:在运行客户端之前,请注意运行服务端。

网络编程心得对于网络编程的初学者来说,查看程序的运行结果、查看客户端与服务端的相互通信已经是一件非常令人兴奋的事情。

接下来,请逐步了解每个过程的含义,检查每个函数和参数的含义,然后尝试根据自己的意愿进行修改。

幸运的是,上述读者用VS运行了程序。 他经历了各种各样的绊脚石问题,最终实现了聊天程序。 真的值得庆祝。

网络编程真的很简单。 简言之,就是多实践,多思考,多按照自己希望的修改,多尝试,多从实践中学习。

有兴趣的朋友多实践,祝大家国庆节快乐,也不要忘记学习哦。 现在是学校招生的高峰期。 希望找工作的朋友顺利。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。