问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

我想问下如何在手机上建立一个服务器,用Socket的方法如何实现。

发布网友 发布时间:2022-04-30 00:18

我来回答

1个回答

热心网友 时间:2023-10-11 00:35

TCP方式:
TCP协议客户端实现:

//创建一个Socket对象,指定服务器端的IP地址和端口号
Socketsocket=newSocket("192.168.1.104",4567);
//使用InputStream读取硬盘上的文件,这里只是用文件当做信息源,可以读取控件用户输入信息
InputStreaminputStream=new
FileInputStream("f://file/words.txt");

//从Socket当中得到OutputStream

OutputStream outputStream=socket.getOutputStream();
bytebuffer[]=newbyte[4*1024];inttemp=0;

//将InputStream当中的数据取出,并写入到OutputStream当中
while((temp=inputStream.read(buffer))!=-1)

5
{
outputStream.write(buffer,0,temp);}
outputStream.flush();}

TCP协议服务器端实现:

//声明一个ServerSocket对象
ServerSocketserverSocket=null;
try{

//创建一个ServerSocket对象,并让这个Socket在4567端口监听

serverSocket=newServerSocket(4567);

//调用ServerSocket的accept()方法,接受客户端所发送的请求,
//如果客户端没有发送数据,那么该线程就停滞不继续

Socketsocket=serverSocket.accept();
//从Socket当中得到InputStream对象

InputStreaminputStream=socket.getInputStream();
bytebuffer[]=newbyte[1024*4];
inttemp=0;

//从InputStream当中读取客户端所发送的数据
while((temp=inputStream.read(buffer))!=-1)
{
System.out.println(newString(buffer,0,temp));}
}
catch(IOExceptione)
{

e.printStackTrace();}

serverSocket.close();
}

UDP方式
UDP的客户端代码实现如下:

public static void main(String[]args)
{
try{

//首先创建一个DatagramSocket对象

DatagramSocket socket=new DatagramSocket(4567);
//创建一个InetAddree

6

InetAddress serverAddress=InetAddress.getByName("192.168.1.104");

String str="hello";

//这是要传输的数据

byte data[]=str.getBytes();

//把传输内容分解成字节

//创建一个DatagramPacket对象,并指定要讲这个数据包发送到网
络当中的哪个地址,以及端口号

DatagramPacket packet=new
DatagramPacket(data,data.length,serverAddress,4567);
//调用socket对象的send方法,发送数据
socket.send(packet);}
catch(Exceptione)
{

e.printStackTrace();}
}

UDP的服务端代码实现如下:

//创建一个DatagramSocket对象,并指定监听的端口号

DatagramSocket socket=new DatagramSocket(4567);
bytedata[]=newbyte[1024];
//创建一个空的DatagramPacket对象

DatagramPacket packet=new DatagramPacket(data,data.length);
//使用receive方法接收客户端所发送的数据,
//如果客户端没有发送数据,该进程就停滞在这里

socket.receive(packet);

Stringresult=newString(packet.getData(),packet.getOffset(),
packet.getLength());

System.out.println("result--->"+result);追问我要的手机建立服务器。你连ip的获取都没,这不还是建立电脑上的服务器端口么。而且你给的ip地址都是192。168的局域网内部ip。这种ip能用3G连接么?

来自:求助得到的回答

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
大伙说说洗衣机要不要带烘干好 热烘干洗衣机怎么样 ef英语哪个好 EF英孚英语培训怎么样? 英孚英语好不好 EF英孚教育到底好不好 大佬们,麦芒7和荣耀10那个值得入手?2500以下的机子还有啥好推荐的么... 介绍几款2500元以前的手机 像素一定要高 其他的不做要求 近期想入手一部安卓手机,价格2200到2500左右…买HTC desire Z还是 三星... 笔记本忘记开机密码怎么办急死了 web服务器和TCP服务器的问题 是在web中直接架设TCP服务器 还是建设好TCP服务器然后和web服务器通信 如何使用集成了ESP8266芯片的NodeMCU以配置一个可交互的TCP服务器 如何搭建tcp dns server 接发多少钱 跪求~~在深圳东门哪里有卖发片的?就是接头发的那种真发,大概多少钱?谁知道,告诉我吧 接头发需要多少钱 淘宝上三百多元的假发是真发做的吗? 把握股票分时走势重要时间段,投资高手必备的最佳交易时间 接头发要多少钱啊 真发做的假发片大概要多少钱一片? 分析股票一般看多长时间的走势比较准确 假发片多少钱,要买多少个才能够? 理发店接假发片多少钱 查看股票走势看一时间段内要看几分钟的容易查看股票下一轮走势? 假发片的价格是多少? 真发发片大概多少钱一片 咸阳接头发多少钱? 假发片多少钱? 你好!头发少了点在你那里买一款合适的真发片多少钱呀? 抖音私密怎么分享给好友- 问一问 web端如何向C++编写的TCP服务器程序建立单向长连接 服务器为TCP连接新建进程需要新的端口号吗 ASP.NET开发的网站中同时要作为TCP服务器,这在结构上如何实现? 关于SSIS Tcp,android客户端服务端断开重连应该怎么个实现 web 服务器怎么与tcp服务器通讯 微信对话框怎么换 微信怎么换对话框 无聊时都想找人聊聊为什么? 中国移动发短信查话费号码是多少 很无聊,想找人说话怎么办? 如果一一个很久不见的男生突然发消息找我聊天 说自己无聊想找人聊天 请问他是什么意思_百度问一问 小学周记600字(空格多 小学生周记范文600字,赶作业呢!!!急急急!!! 火腿玉米披萨怎么做好吃,火腿玉米披萨的家常做法 小学生三年级周记懂得分享600字 小学6年级600字左右的周末周记 做火腿玉米披萨,玉米是用生的还是熟的? 小学生周记《我的元旦节》600字 怎么才能让皮肤变白?