socket菜鸟教程(C#Socket教程)

      最后更新:2022-11-09 14:22:23 手机定位技术交流文章

      Socket高手看下

      思路不是很对。 上面说得很好,receive是一个拥塞函数,不仅仅是没有接受到数据的时候拥塞,而是一直拥塞,直到对方关闭套接字才会关闭。你用一个socket同时 做了 服务端和客户端的工作。这表明,这client.receive函数一直接收来自send函数的数据。所以才会出现第二次接收的时候,进入死循环(原因是receive一直在等待数据传送结束)======我的想法分开两个程序,虽然是在同一电脑,还是分开好,一个客户端,一个服务端。服务端的receive 用一个死循环,不停收信息,while(1==1){receive;Thread.Sleep(5000);//你需要写行代码手工跳出这个循环} 跳出这个循环后,只能再new一个socket进行下一次通讯
      Receive 是个阻塞函数,意思就是,如果服务器没有返回数据给client,程序代码将一直停在client.Receive(wwww1);这一行等待,下一行代码不会执行的,所以,你这里卡死,应该是由于你的服务器端没有返回数据给client. 通常,我们写Socket的收发的时候,是分开写的.并且是写在线程中,一个监听线程负责Receive,一个发送线程负责Send,这样就不会出现等待数据发送或者接受时,界面假死或者程序无响应了
      第一个关掉看看呢? client.Shutdown(SocketShutdown.Both);client.Close(); 关掉后在连接尝试看看
      Socket高手看下

      菜鸟求教一个关于python socket的问题

      情况时这样,最近刚学python,一直使用的文本编辑,在学到socket时自己尝试写了一个小脚本,部分语句如下: import socketself.service=socket.socket(socket.AF_INET,socket.SOCK_STREAM)python 运行无错最近又发现,原来eclipse是有python扩展包的,于是尝试把自己写的东西放到eclipse中运行,然后就报错了:self.service=socket.socket(socket.AF_INET,socket.SOCK_STREAM)AttributeError: 'module' object has no attribute 'AF_INET'ctrl+左键放到AF_INET提示此值存放在_socket下,于是有以下尝试:import socketimport _socketprint _socket.AF_INET #无报错,返回2print socket.AF_INET #报错于是修改了脚本import _socket as socket我的脚本运行正常首先,我系统的环境使用的时python2.6,eclipse中,windows-》preferences-》interpreter - python这里面的lib包(指向/usr/bin/python2.6),与我在终端的输出sys.path输出的值时一样的然后,我的问题:1,是不是在python中有两个模块,一个叫socket,一个叫_socket?2,为什么在终端执行,可以直接import socket.AF_INET,而在eclipse中则需要import _socket?可能你的测试脚本或当前路进下有其他脚本也叫socket,优先被载入造成错误,试试import后立刻打印路径看看是不是标准的那个...>>> import socket>>> print socket.__file__C:Python27libsocket.pyc >>>
      菜鸟求教一个关于python socket的问题

      菜鸟提问 socket是工作在传输层的吗

      socket的实现部分, 就是系统协议栈部分, 应该包含了 网络层 (ip), 传输层(tcp/udp)等等。 用socket写程序的人, 就要看用socket那部分了。 如果你直接用ip层, rawsocket, 假如你自己写个tcp协议, 那你应该做的就是传输层。如果你是用tcp/udp等协议, 做网络应用, 那应该是应用层。 其实如果按osi的模型来分。 每个从事软件或者硬件开发的人, 都应该能找到自己工作在那一层。
      菜鸟提问 socket是工作在传输层的吗

      在windows下用C语言如何实现socket网络编程,需要用到哪些头文件或者库?

      需要用到的头文件包含:#include #include 与Linux环境下socket编程相比,windows环境多了一个步骤:启动或者初始化winsock库Winsock,一种标准API,一种网络编程接口,用于两个或多个应用程序(或进程)之间通过网络进行数据通信。具有两个版本:Winsock 1:Windows CE平台支持。头文件:WinSock.h库:wsock32.libWinsock 2:部分平台如Windows CE貌似不支持。通过前缀WSA可以区别于Winsock 1版本。个别函数如WSAStartup、WSACleanup、WSARecvEx、WSAGetLastError都属于Winsock 1.1规范的函数;头文件:WinSock2.h库:ws2_32.libmswsock.h用于编程扩展,使用时必须链接mswsock.dll扩展资料winsock库的加载与卸载:加载:int WSAStartup(WORD wVersionRequested, LPWSADATA lpWSAData);加载成功,返回值为0。WORD wVersionRequested:加载的winsock版本,使用宏MAKEWORD(x, y),x表示高字节,y表示低字节。然而使用时MAKEWORD(2, 2)。高字节与低字节相同~~LPWSADATA lpWSAData:WSADATA结构的指针,传入参数后,系统帮助我们填充版本信息。有兴趣的可以看看结构体内容,不过基本用不着。卸载:int WSACleanup(void);比起加载,卸载的函数真是轻松愉快。
      在windows下用C语言如何实现socket网络编程,需要用到以下头文件和库:1、头文件 winsock2.h,2、静态库文件 Ws2_32.lib3、动态DLL文件 Ws2_32.dll我们可以简单的把Socket理解为一个可以连通网络上不同计算机程序之间的管道,把一堆数据从管道的A端扔进去,则会从管道的B端(也许同时还可以从C、D、E、F……端冒出来)。管道的端口由两个因素来唯一确认,即机器的IP地址和程序所使用的端口号。扩展资料:Socket可以支持数据的发送和接收,它会定义一种称为套接字的变量,发送数据时首先创建套接字,然后使用该套接字的sendto等方法对准某个IP/端口进行数据发送;接收端也首先创建套接字,然后将该套接字绑定到一个IP/端口上,所有发向此端口的数据会被该套接字的recv等函数读出。如同读出文件中的数据一样。参考资料来源:百度百科-套接字
      在windows下用C语言如何实现socket网络编程,需要用到以下头文件和库:头文件    winsock2.h,静态库文件    Ws2_32.lib动态DLL文件    Ws2_32.dll写一个UDP发送程序的步骤如下:1.         用WSAStartup函数初始化Socket环境;2.         用socket函数创建一个套接字;3.         用setsockopt函数设置套接字的属性,例如设置为广播类型;很多时候该步骤可以省略;4.         创建一个sockaddr_in,并指定其IP地址和端口号;5.         用sendto函数向指定地址发送数据,这里的目标地址就是广播地址;注意这里不需要绑定,即使绑定了,其地址也会被sendto中的参数覆盖;若使用send函数则会出错,因为send是面向连接的,而UDP是非连接的,只能使用sendto发送数据;6.         用closesocket函数关闭套接字;7.         用WSACleanup函数关闭Socket环境。与之类似,一个UDP接收程序的步骤如下,注意接收方一定要bind套接字:1.         用WSAStartup函数初始化Socket环境;2.         用socket函数创建一个套接字;3.         用setsockopt函数设置套接字的属性,例如设置为广播类型;4.         创建一个sockaddr_in,并指定其IP地址和端口号;5.         用bind函数将套接字与接收的地址绑定起来,然后调用recvfrom函数或者recv接收数据; 注意这里一定要绑定,因为接收报文的套接字必须在网络上有一个绑定的名称才能保证正确接收数据;6.         用closesocket函数关闭套接字;7.         用WSACleanup函数关闭Socket环境。参考资料地址:http://blog.csdn.net/xxbsky520/article/details/6161217
      主要是看采取什么样的协议。是tcp还是udp使用的头文件是不一样的。不过差别都不大。winscok2.h就够用了。不过往深了走其实还是要涉及到其他的,这个普通的套接字编程主要是winscok2.h里面的。
      那就是控制台应用程序喽 看孙鑫VC6视频教程网络编程部分很详细,VC6只是个平台,可以随便用什么来写 主要用到winscok2.h
      在windows下用C语言如何实现socket网络编程,需要用到哪些头文件或者库?

      菜鸟请教linux C 语言socket 编程的问题, 我想让服务端程序接收数据包 进行处理

      举例来说吧 // 写一个服务器类ServerSocket serverSocket = new ServerSocket(8888);//等待客户来接Socket socket = serverSocket.accept();//再定义输入输出对象DataInputStream inputFromClient = new DataInputStream(socket.getInputStream());DataOutputStream outputToClient = new DataOutputStream(socket.getOutputStream()); //下面就用输入对象读取数据,然后用输出对象输出就行了
      不知道 百度一下吧
      菜鸟请教linux C 语言socket 编程的问题, 我想让服务端程序接收数据包 进行处理

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/44232.html

          热门文章

          文章分类