python能编写手机软件-怎么用Python编写一个手机聊天软件或程序
首先声明下,下面的答案是从博客上粘过来了,因为以前自己写的时候也参考这个写的。
基于UDP的聊天程序服务器端源程序:
#include "winsock2.h"
#include "stdio.h"
void main()
{
//加载套接字(winsock)库,加载这段代码拷贝于MSDN中WSAStartup的介绍
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD( 1, 1 ); //版本号为1.1
err = WSAStartup( wVersionRequested, &wsaData );
if ( err != 0 ) {
return;
}
if ( LOBYTE( wsaData.wVersion ) != 1 ||
HIBYTE( wsaData.wVersion ) != 1 ) {
WSACleanup( );
return;
}
//创建套接字
//注意第二个参数和TCP设置不同
SOCKET sockServer=socket(AF_INET,SOCK_DGRAM,0);
SOCKADDR_IN addrServer; //设置服务器端套接字的地址结构的相关属性
addrServer.sin_addr.S_un.S_addr=htonl(INADDR_ANY); //设置IP
addrServer.sin_family=AF_INET;
addrServer.sin_port=htons(6000); //设置端口号
//将套接字和服务器地址结构绑定
bind(sockServer,(SOCKADDR*)&addrServer,sizeof(SOCKADDR));
SOCKADDR_IN addrClient;
int len=sizeof(SOCKADDR);
char recvBuf[100];
char tempBuf[100];
char sendBuf[100];
while(1)
{
//从客户端接收数据
int result=recvfrom(sockServer,recvBuf,100,0,(SOCKADDR*)&addrClient,&len);
if(result==SOCKET_ERROR)
{
int errCode=WSAGetLastError();
printf("error:%d",errCode);
break; //退出循环
}
else
{
if(recvBuf[0]=='q') //对方请求退出
{
//同样将退出请求发送回去
sendto(sockServer,"q",strlen("q")+1,0,(SOCKADDR*)& addrClient,sizeof(SOCKADDR));
printf("the chat end!");
break;
}
else
{
//将对方发送过来的信息前段加上IP地址进行输出
sprintf(tempBuf,"%s said:%s",inet_ntoa(addrClient.sin_addr),recvBuf);
printf("%s ",tempBuf);
//将用户的键盘输入发送到对方
printf("pleas input the message: ");
gets(sendBuf); //得到键盘输入内容 sendto(sockServer,sendBuf,strlen(sendBuf)+1,0,(SOCKADDR*)& addrClient,sizeof(SOCKADDR));
}
}
}
closesocket(sockServer);
WSACleanup();
}
基于UDP的聊天程序客户端端源程序:
#include "winsock2.h"
#include "stdio.h"
void main()
{
//加载套接字(winsock)库,加载这段代码拷贝于MSDN中WSAStartup的介绍
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD( 1, 1 ); //版本号为1.1
err = WSAStartup( wVersionRequested, &wsaData );
if ( err != 0 ) {
return;
}
if ( LOBYTE( wsaData.wVersion ) != 1 ||
HIBYTE( wsaData.wVersion ) != 1 ) {
WSACleanup( );
return;
}
//创建套接字
SOCKET sockClient=socket(AF_INET,SOCK_DGRAM,0); //注意第二个参数和TCP设置不同
SOCKADDR_IN addrServer; //服务器地址结构
addrServer.sin_addr.S_un.S_addr=inet_addr("127.0.0.1"); //服务器地址
addrServer.sin_family=AF_INET;
addrServer.sin_port=htons(6000); //服务器端口号
char tempBuf[100];
char recvBuf[100];
char sendBuf[100];
int len=sizeof(SOCKADDR);
while(1)
{
printf("plese input the message: ");
gets(sendBuf); //得到用户的键盘输入
sendto(sockClient,sendBuf,strlen(sendBuf)+1,0,(SOCKADDR*)&addrServer,sizeof(SOCKADDR));
int result=recvfrom(sockClient,recvBuf,100,0,(SOCKADDR*)&addrServer,&len);
if(result==SOCKET_ERROR)
{
int errCode=WSAGetLastError();
printf("error:%d",errCode);
break; //退出循环
}
else
{
if(recvBuf[0]=='q') //对方请求退出
{
//同样将退出请求发送回去
sendto(sockClient,"q",strlen("q")+1,0,(SOCKADDR*)&addrServer,sizeof(SOCKADDR));
printf("the chat end!");
break;
}
else
{
//将对方发送过来的信息前段加上IP地址进行输出
sprintf(tempBuf,"%s said:%s",inet_ntoa(addrServer.sin_addr),recvBuf);
printf("%s ",tempBuf);
}
}
}
closesocket(sockClient);
WSACleanup();
}
取消
评论
python能编写手机软件-怎么用Python编写一个手机聊天软件或程序相关推荐
- 华为首款5G折叠屏手机MateX,可否成为下一个手机发展方向?
就在昨日,西班牙巴塞罗那,在2019年MWC期间华为召开名为"connecting the future"发布会,正式发布了5G折叠屏手机HUAWEI Mate X和无边框笔记本电 ...
- 【亡羊补牢】计算机网络灵魂之问 第9期 如果让你做一个视频聊天软件,你用tcp还是udp?为什么?
这是博主面向腾讯学习的面试题大整理系列,可以在如下github仓库Issues中通过 Labels 标签分类查看相关内容,同时欢迎大家指正可能的错误并且提出自己的解答,希望大家学的鱼块,春秋招顺利! ...
- python黑科技:Python大佬用20行代码带你打造一个微信聊天机器人,真神了~
如何用20行Python代码打造一个微信群聊助手? 1.安装python环境 2.安装python的itchat库 3.安装itchat库 4.Linux 5.申请图灵机器人API和key 6.编写p ...
- 手机电话本怎么导入另一个手机
随着社会的发展和科技的进步,手机通讯录都会存好多好友的联系方式,那么怎么将手机的通讯录倒到另一部手机呢?以下是操作步骤: 1.两部手机分别下载安装<QQ同步助手>. 2.在有通讯录的手机上 ...
- 手机短信转发到另一个手机接收_怎么把手机号码导入另一个手机中(新手机是华为的,旧手机是三星的)...
在日常生活中我们每个人都有手机,有时会有两部以上手机,当我们想要换个手机的时候,就会想我的电话号码怎么才能导入到新手机上,对于手机开发和手机维修人员来说,这就是小菜,对于我们大众来说就不是那么容易了, ...
- 手机声音同步到另一部手机_手机照片怎么传到另一个手机?用这一招,超简单!...
手机里的照片怎么传到另一个手机里?在我们更换手机之后,不少人是想要将旧手机里的照片导入新手机的,将大量的照片进行转移,有什么快速的方法么?今天小编按照之前尝试过的几种方法给大家讲下详细的步骤,希望能够 ...
- 最近打算再写一个 局域网聊天软件
在1981年,nikon对全线ai镜头卡口进行了修改,局域网聊天软件 以便用机械方式实现光圈优先的局域网聊天软件功能,这些修改后的新镜头就是ai-s卡口nikkor镜头.识别它的方法是光圈环上最小光圈 ...
- 低格硬盘用什么软件_越南人用的什么聊天软件,和越南人交流用什么软件翻译...
很多单身的朋友想认识美丽的越南女孩,期待一场跨国恋情.今天就给大家介绍下越南人使用的聊天软件.Facebook,Zalo和和Ins为越南市场三大社交媒体应用,Facebook的使用范围比较广.而Zal ...
- 利用Qt制作一个简易聊天软件
需求分析 即时通讯软件是通过即时通讯技术来实现在线聊天.交流的软件.需要完成基本的通信需求及工作场景需求. 架构分析 截图展示 项目简介 我们编写的即时通信软件叫做SeeU,它是一款基于Qt开发平台, ...
- 手机短信转发到另一个手机接收_吓人!手机收到“处理尸体”短信 警方调查揭开真相!...
如果突然收到一条 让你"处理尸体"的手机短信, 你会如何处理? 近日,江津区的18岁小伙小郭就遇到此事,他与对方联系无果后,选择了立即报警求助.警方调查后发现,这原是一场恶作剧. ...
最新文章
- SDN教育城域网解决方案
- SQL语言之数据控制语言(Oracle)
- 【AI不惑境】移动端高效网络,卷积拆分和分组的精髓
- 转:QQ登录时错误码说明及解决办法
- matlab 韩明距离_使用Matlab计算各种距离Distance
- linux命令行翻页
- 升级LINUX内核(支持8G内存)的命令
- 【SpringBoot_ANNOTATIONS】组件注册 04 @Scope 设置组件作用域
- Win 10系统无法连接蓝牙耳机问题
- 计算机数字雨教程视频,股票配资火爆cmd什么意思(cmd命令数字雨)
- 批量修改后缀名的方法
- linux设置双屏拼接_Linux 与Windows(A卡、N卡)下折腾双屏、3屏拼接
- 从一个编程老菜鸟来看Delphi的优点
- 聊天系统服务器,聊天系统服务器
- 对Autorun.inf类U盘病毒的攻防经验总结
- incsgo 可直接取回最好的国内CSGO饰品皮肤开箱网站
- python学习路线图(初级阶段,中级阶段,高级阶段)
- 论文笔记Improving Multi-hop Knowledge Base Question Answering by Learning Intermediate Supervision Signa
- 五. Tomcat 常见问题解决及面试题
- 计算机信息技术与幼儿教育论文,信息技术应用于幼儿教育论文
热门文章
- 【php】php5.0以上,instanceof 用法
- Vofuria 的 imageTarget 的图片无法显示或者显示为空白
- ArcGIS Engine中空间参照(地理坐标)相关方法总结
- VIM 多行注释与取消
- UIView上的控件使用push方法跳转
- DevExpress GridControl使用(二)
- Synchronized同步的考虑
- ubuntu 网卡双网口 配置_Ubuntu 18.04 设置多网卡多端口聚合
- python安装步骤图解-Python安装与卸载流程详细步骤(图解)
- python手机版安卓-手机随时随地写Python,还可以开发安卓APP,太厉害了!