ubuntu linux怎么编写代码

ubuntu linux怎么编写代码,第1张

1.服务器的代码:void SocketServer::CreateConnect(){std::cout<<"start Create Socket!"<<std::endl m_nSocket = -1 struct sockaddr_in server_addr struct sockaddr_in client_addr int portnumber=4321 if((m_nSocket=socket(AF_INET,SOCK_STREAM,0))==-1){std::cout<<"socket Create Failed!"<<strerror(errno)<<std::endl return }std::cout<<"Create Socket Finish!"<<std::endl/* 服务器端填充 sockaddr结构 */bzero(&server_addr,sizeof(struct sockaddr_in)) server_addr.sin_family=AF_INET server_addr.sin_addr.s_addr=inet_addr("127.0.0.1") server_addr.sin_port=htons(portnumber) /* 捆绑sockfd描述符 */if(bind(m_nSocket,(struct sockaddr *)(&server_addr),sizeof(struct sockaddr))==-1){std::cout<<"Server Bind Failed!"<<strerror(errno)<<std::endl return }std::cout<<"bind Socket Finish!"<<std::endl /* 监听sockfd描述符 */if(listen(m_nSocket,5)==-1){std::cout<<"Listen Failed!"<<strerror(errno)<<std::endl return }std::cout<<"listen Socket Finish!"<<std::endl while(1){/* 服务器阻塞,直到客户程序建立连接 */std::cout<<"listen start..."<<std::endl int nNewFd=-1 size_t nSize = sizeof(struct sockaddr_in) if((nNewFd=accept(m_nSocket,(struct sockaddr *)(&client_addr),&(nSize))) == -1){std::cout<<"accept Failed!"<<strerror(errno)<<std::endl return }std::cout<<"server Get Connect from:"<<inet_ntoa(client_addr.sin_addr)<<std::endl while(1){char buf[256] = "0" size_t len = recv( nNewFd, buf, 256, 0)if ( len >0)std::cout<<"接受的消息为:"<<buf<<std::endl else {if ( len <0)std::cout<<"错误为:"<<strerror( errno)<<std::endl elsestd::cout<<"客户端断开:"<<std::endl break }}/* 这个通讯已经结束 *///close(nNewFd) /* 循环下一个 */}}2.客户端代码://创建链接void SocketClient::CreateConnect(){char buffer[1024] struct sockaddr_in server_addr std::cout<<"socket create start!"<<std::endl /* 客户程序开始建立 sockfd描述符 */if((m_nSocket=socket(AF_INET,SOCK_STREAM,0))==-1){std::cout<<"Client socket Create Failed!!"<<strerror(errno)<<std::endl return }std::cout<<"socket create finshed!"<<std::endl /* 客户程序填充服务端的资料 */int portnumber = 4321 bzero(&server_addr,sizeof(server_addr)) server_addr.sin_family=AF_INET server_addr.sin_port=htons(portnumber) server_addr.sin_addr.s_addr=inet_addr("127.0.0.1") /* 客户程序发起连接请求 */if(connect(m_nSocket,(struct sockaddr *)(&server_addr),sizeof(struct sockaddr))==-1){std::cout<<"Client connect Fialed!"<<strerror(errno)<<std::endl return }std::cout<<"connect finshed!"<<std::endl std::string str="start..." while(!str.empty()){std::cout<<"starting....!"<<std::endl std::cin>>str size_t len = send ( m_nSocket, str.c_str(), str.length(), 0)if ( len <0){std::cout<<"消息发送失败"<<str<<strerror (errno)<<std::endl }else{std::cout<<"消息发送成功"<<str<<std::endl }}close(m_nSocket)}3.编译完成后,启动服务器端代码和客户端代码就可以进行通信了。4.普及一下TCP/IP协议的部分知识,TCP是面向链接的协议,即在进行通信前服务器是被动链接,客户端是主动链接,那么客户端与服务器端的连接需要经过三次握手才能建立链接。在整个通信过程中客户端与服务器端的进行的通信都有确认机制,保证包能顺利的到达对方,但这也不是100%,中间的路由等中间桥出现问题,也有可能造成数据包的丢失,而任何一方没有收到确认包,都会一直处于等待和重传的过程中...服务器:创建socket->bind->listen->recv(send)->close客户端:创建socket->connect->recv(send)->close

<soapenv:Header/>

<soapenv:Body>

<api:getEmp>

<shopId>string</shopId>

</api:getEmp>

</soapenv:Body>

</soapenv:Envelope>

这个时SOAP协议的标准报文格式,客户端只要发送这样的报文给支持SOAP协议的webservice服务器即可成功调用web service服务

服务端:部署服务只需要自己定义服务的接口和实现类,并用@webservice注解,通过endPoint类直接发布即可

用java写一个页向对像的web 服务器,得借助工具!

不然估计把你累吐血了!

想用java做一个web 服务器你得懂这样的几个方面!

xml,servlet,jsp,javabean用这些应该做一具小型的差不多了!

首先,jsp属性界面类,响应客户端的请求发送给servlet!

servlet控制类,sevlet接受客户端的请求做相应的处理!

比如,调用javabean的数据库连接的类!

做完一系列操作再由servlet转发到jsp,显示客户所需要的数据!


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/298893.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-25
下一篇2023-04-25

发表评论

登录后才能评论

评论列表(0条)

    保存