socket方法(python socket方法)

      最后更新:2024-01-15 18:39

      java socket 使用方法

      Socket.getPort(); // 获取客户端的端口 Socket.getInetAddress(); //获取客户端的地址信息返回InetAddress对象 InetAddress对象里面都是你要的信息,具体可以查JDK文档
      java socket 使用方法

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

      TCP方式: TCP协议客户端实现://创建一个Socket对象,指定服务器端的IP地址和端口号Socketsocket=newSocket("192.168.1.104",4567);//使用InputStream读取硬盘上的文件,这里只是用文件当做信息源,可以读取控件用户输入信息InputStreaminputStream=newFileInputStream("f://file/words.txt");//从Socket当中得到OutputStreamOutputStream 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);//创建一个InetAddree6InetAddress serverAddress=InetAddress.getByName("192.168.1.104");String str="hello";//这是要传输的数据byte data[]=str.getBytes();//把传输内容分解成字节//创建一个DatagramPacket对象,并指定要讲这个数据包发送到网络当中的哪个地址,以及端口号DatagramPacket packet=newDatagramPacket(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);
      我想问下如何在手机上建立一个服务器,用Socket的方法如何实现。

      java socket 使用方法

      Socket.getPort(); //获取客户端的端口Socket.getInetAddress();//获取客户端的地址信息返回InetAddress对象 InetAddress对象里面都是你要的信息,具体可以查JDK文档
      java socket 使用方法

      使用socket模块中的什么方法可以创建一个socket对象

      方法一: 第一步,可以先创建socket objSocket=null,但不实例化先第二步,在需要的地方进行实例化,例如构造方法中等等方法二: 直接创建并实例化
      使用socket模块中的什么方法可以创建一个socket对象

      android socket有几种方法

      /***第一种:客户端Socket通过构造方法连接服务器***/ //客户端Socket可以通过指定IP地址或域名两种方式来连接服务器端,实际最终都是通过IP地址来连接服务器//新建一个Socket,指定其IP地址及端口号Socket socket = new Socket("192.168.0.7",80);/***Socket 客户端 一些常用设置***///客户端socket在接收数据时,有两种超时:1.连接服务器超时,即连接超时;2.连接服务器成功后,接收服务器数据超时,即接收超时//*设置socket 读取数据流的超时时间socket.setSoTimeout(5000);//发送数据包,默认为false,即客户端发送数据采用Nagle算法;//但是对于实时交互性高的程序,建议其改为true,即关闭Nagle算法,客户端每发送一次数据,无论数据包大小都会将这些数据发送出去socket.setTcpNoDelay(true);//设置客户端socket关闭时,close()方法起作用时延迟1分钟关闭,如果1分钟内尽量将未发送的数据包发送出去socket.setSoLinger(true, 60);//设置输出流的发送缓冲区大小,默认是8KB,即8096字节socket.setSendBufferSize(8096);//设置输入流的接收缓冲区大小,默认是8KB,即8096字节socket.setReceiveBufferSize(8096);//作用:每隔一段时间检查服务器是否处于活动状态,如果服务器端长时间没响应,自动关闭客户端socket//防止服务器端无效时,客户端长时间处于连接状态socket.setKeepAlive(true);/*** Socket客户端向服务器端发送数据 ****///客户端向服务器端发送数据,获取客户端向服务器端输出流OutputStream os = socket.getOutputStream();OutputStreamWriter osw = new OutputStreamWriter(os);BufferedWriter bw = new BufferedWriter(osw);//代表可以立即向服务器端发送单字节数据socket.setOOBInline(true);//数据不经过输出缓冲区,立即发送socket.sendUrgentData(65);//"A"//向服务器端写数据,写入一个缓冲区//注:此处字符串最后必须包含“rnrn”,告诉服务器HTTP头已经结束,可以处理数据,否则会造成下面的读取数据出现阻塞//在write()方法中可以定义规则,与后台匹配来识别相应的功能,例如登录Login()方法,可以写为write("Login|test,123 rnrn"),供后台识别;bw.write("Login|test,123 rnrn");//发送缓冲区中数据,必须有bw.flush();/*** Socket客户端读取服务器端响应数据 ****///socket.isConnected代表是否连接成功过if((socket.isConnected() == true) && (socket.isClosed() == false)){//判断Socket是否处于连接状态//客户端接收服务器端的响应,读取服务器端向客户端的输入流InputStream is = socket.getInputStream();//缓冲区byte[] buffer = new byte[is.available()];//读取缓冲区is.read(buffer);//转换为字符串String responseInfo = new String(buffer);//日志中输出Log.i("TEST", responseInfo);} //关闭网络socket.close();/***第二种:通过connect方法连接服务器***/Socket socket_other = new Socket();//使用默认的连接超时socket_other.connect(new InetSocketAddress("192.168.0.7",80));//连接超时2ssocket_other.connect(new InetSocketAddress("192.168.0.7",80),2000);//关闭socketsocket_other.close();} catch (UnknownHostException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace(); }
      android socket有几种方法

      本文由 在线网速测试 整理编辑,转载请注明出处。

          热门文章

          文章分类