python socket send_Python socket.send方法代码示例

本文整理汇总了Python中socket.send方法的典型用法代码示例。如果您正苦于以下问题:Python socket.send方法的具体用法?Python socket.send怎么用?Python socket.send使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在模块socket的用法示例。

在下文中一共展示了socket.send方法的24个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: send

​点赞 6

# 需要导入模块: import socket [as 别名]

# 或者: from socket import send [as 别名]

def send(self, data):

"""

Send data via TCP service.

:param data: data

:type data: str

"""

try:

self.socket.send(data)

# TODO: rework logging to have LogRecord with extra=direction

# TODO: separate data sent/received from other log records ?

self._debug('> {}'.format(data))

except socket.error as serr:

if (serr.errno == 10054) or (serr.errno == 10053):

self._close_ignoring_exceptions()

info = "{} during send msg '{}'".format(serr.errno, data)

raise RemoteEndpointDisconnected('Socket error: ' + info)

else:

raise

开发者ID:nokia,项目名称:moler,代码行数:21,

示例2: __init__

​点赞 6

# 需要导入模块: import socket [as 别名]

# 或者: from socket import send [as 别名]

def __init__(self, port, data, exit_event, quiet=False):

"""

:param port: Destination port.

:param data: The data intend to be send in a loop.

:param exit_event: Exit event.

:param quiet: If true don't raise event when crash.

"""

Thread.__init__(self)

self.port = port

# FIXME: socket.send(data>>127998) without read blocks thread

if len(data) > 102400:

data = data[0:102400]

logging.error("Data is too long, using only first %d bytes",

len(data))

self.data = data

self.exitevent = exit_event

self.idx = 0

self.quiet = quiet

self.ret_code = 1 # sets to 0 when finish properly

开发者ID:avocado-framework,项目名称:avocado-vt,代码行数:21,

示例3: write_to_fd

​点赞 6

# 需要导入模块: import socket [as 别名]

# 或者: from socket import send [as 别名]

def write_to_fd(self, data: memoryview) -> int:

try:

return self.socket.send(data) # type: ignore

except ssl.SSLError as e:

if e.args[0] == ssl.SSL_ERROR_WANT_WRITE:

# In Python 3.5+, SSLSocket.send raises a WANT_WRITE error if

# the socket is not writeable; we need to transform this into

# an EWOULDBLOCK socket.error or a zero return value,

# either of which will be recognized by the caller of this

# method. Prior to Python 3.5, an unwriteable socket would

# simply return 0 bytes written.

return 0

raise

finally:

# Avoid keeping to data, which can be a memoryview.

# See https://github.com/tornadoweb/tornado/pull/2008

del data

开发者ID:opendevops-cn,项目名称:opendevops,代码行数:19,

示例4: run

​点赞 6

# 需要导入模块: import socket [as 别名]

# 或者: from socket import send [as 别名]

def run(self):

_ClientHandler.log_info("csocketsendThread(); socket.send thread start")

self._tx=None

while self.__threadrun==True:

try:

# get queue-value in blocking mode

self._tx=self._queue.get(True)

self._queue.task_done()

except:

self.__threadrun=False

_ClientHandler.log_critical("csocketsendThread();Error on queue.get()")

raise

try:

self._request.sendall(bytes(self._tx))

except:

self.__threadrun=False

_ClientHandler.log_critical("csocketsendThread();Error on socket.send")

raise

_ClientHandler.log_info("csocketsendThread(); socket.send thread terminated")

开发者ID:norberts1,项目名称:hometop_HT3,代码行数:23,

示例5: __waitfor_client_register

​点赞 6

# 需要导入模块: import socket [as 别名]

# 或者: from socket import send [as 别名]

def __waitfor_client_register(self):

self.request.settimeout(5)

try:

devicetypetmp=self.request.recv(20)

self._client_devicetype = devicetypetmp.decode('utf-8')

_ClientHandler.log_info("Client-ID:{0}; register(); got devicetype:{1}".format(self._myownID,self._client_devicetype))

#send client-ID to client

sendtemp=str(self._myownID)

self.request.sendall(sendtemp.encode("utf-8"))

except socket.timeout:

_ClientHandler.log_critical("Client-ID:{0}; Timeout occured, no devicetype was send".format(self._myownID))

raise

except socket.error as e:

# Something else happened, handle error, exit, etc.

_ClientHandler.log_critical("Client-ID:{0}; error '{1}' on socket.recv or socket.send".format(self._myownID, e))

raise

except Exception as e:

_ClientHandler.log_critical("Client-ID:{0}; unkown error '{1}'".format(self._myownID,e))

raise

finally:

self.request.settimeout(None)

开发者ID:norberts1,项目名称:hometop_HT3,代码行数:23,

示例6: write

​点赞 6

# 需要导入模块: import socket [as 别名]

# 或者: from socket import send [as 别名]

def write(self, data, extra={}):

SMALL_PKT_BORDER = 0x7f

LARGE_PKT_BORGER = 256 ** 3

if len(data) % 4 != 0:

print_err("BUG: MTProtoFrameStreamWriter attempted to send msg with len", len(data))

return 0

if extra.get("SIMPLE_ACK"):

return self.upstream.write(data[::-1])

len_div_four = len(data) // 4

if len_div_four < SMALL_PKT_BORDER:

return self.upstream.write(bytes([len_div_four]) + data)

elif len_div_four < LARGE_PKT_BORGER:

return self.upstream.write(b'\x7f' + int.to_bytes(len_div_four, 3, 'little') + data)

else:

print_err("Attempted to send too large pkt len =", len(data))

return 0

开发者ID:alexbers,项目名称:mtprotoproxy,代码行数:22,

示例7: write_to_fd

​点赞 5

# 需要导入模块: import socket [as 别名]

# 或者: from socket import send [as 别名]

def write_to_fd(self, data):

return self.socket.send(data)

开发者ID:tao12345666333,项目名称:tornado-zh,代码行数:4,

示例8: __init__

​点赞 5

# 需要导入模块: import socket [as 别名]

# 或者: from socket import send [as 别名]

def __init__(self, moler_connection,

port, host="localhost", receive_buffer_size=64 * 4096,

logger=None):

"""Initialization of TCP-threaded connection."""

super(ThreadedTcp, self).__init__(port=port, host=host,

receive_buffer_size=receive_buffer_size,

logger=logger)

self.pulling_thread = None

# make Moler happy (3 requirements) :-)

self.moler_connection = moler_connection # (1)

self.moler_connection.how2send = self.send # (2)

开发者ID:nokia,项目名称:moler,代码行数:13,

示例9: testSendAfterClose

​点赞 5

# 需要导入模块: import socket [as 别名]

# 或者: from socket import send [as 别名]

def testSendAfterClose(self):

# testing send() after close() with timeout

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

sock.settimeout(1)

sock.close()

self.assertRaises(socket.error, sock.send, "spam")

开发者ID:IronLanguages,项目名称:ironpython2,代码行数:8,

示例10: _testRecv

​点赞 5

# 需要导入模块: import socket [as 别名]

# 或者: from socket import send [as 别名]

def _testRecv(self):

self.serv_conn.send(MSG)

开发者ID:IronLanguages,项目名称:ironpython2,代码行数:4,

示例11: _testOverFlowRecv

​点赞 5

# 需要导入模块: import socket [as 别名]

# 或者: from socket import send [as 别名]

def _testOverFlowRecv(self):

self.serv_conn.send(MSG)

开发者ID:IronLanguages,项目名称:ironpython2,代码行数:4,

示例12: _testRecvFrom

​点赞 5

# 需要导入模块: import socket [as 别名]

# 或者: from socket import send [as 别名]

def _testRecvFrom(self):

self.serv_conn.send(MSG)

开发者ID:IronLanguages,项目名称:ironpython2,代码行数:4,

示例13: _testOverFlowRecvFrom

​点赞 5

# 需要导入模块: import socket [as 别名]

# 或者: from socket import send [as 别名]

def _testOverFlowRecvFrom(self):

self.serv_conn.send(MSG)

开发者ID:IronLanguages,项目名称:ironpython2,代码行数:4,

示例14: _testDup

​点赞 5

# 需要导入模块: import socket [as 别名]

# 或者: from socket import send [as 别名]

def _testDup(self):

self.serv_conn.send(MSG)

开发者ID:IronLanguages,项目名称:ironpython2,代码行数:4,

示例15: _testShutdown

​点赞 5

# 需要导入模块: import socket [as 别名]

# 或者: from socket import send [as 别名]

def _testShutdown(self):

self.serv_conn.send(MSG)

self.serv_conn.shutdown(2)

开发者ID:IronLanguages,项目名称:ironpython2,代码行数:5,

示例16: _testShutdown_overflow

​点赞 5

# 需要导入模块: import socket [as 别名]

# 或者: from socket import send [as 别名]

def _testShutdown_overflow(self):

import _testcapi

self.serv_conn.send(MSG)

# Issue 15989

self.assertRaises(OverflowError, self.serv_conn.shutdown,

_testcapi.INT_MAX + 1)

self.assertRaises(OverflowError, self.serv_conn.shutdown,

2 + (_testcapi.UINT_MAX + 1))

self.serv_conn.shutdown(2)

开发者ID:IronLanguages,项目名称:ironpython2,代码行数:11,

示例17: testSend

​点赞 5

# 需要导入模块: import socket [as 别名]

# 或者: from socket import send [as 别名]

def testSend(self):

self.serv.send(MSG)

开发者ID:IronLanguages,项目名称:ironpython2,代码行数:4,

示例18: send

​点赞 5

# 需要导入模块: import socket [as 别名]

# 或者: from socket import send [as 别名]

def send(self, data, flags=0):

n = self._sock.send(data, flags)

self.sent.append(data[:n])

return n

开发者ID:IronLanguages,项目名称:ironpython2,代码行数:6,

示例19: testInsideTimeout

​点赞 5

# 需要导入模块: import socket [as 别名]

# 或者: from socket import send [as 别名]

def testInsideTimeout(self):

conn, addr = self.serv.accept()

self.addCleanup(conn.close)

time.sleep(3)

conn.send("done!")

开发者ID:IronLanguages,项目名称:ironpython2,代码行数:7,

示例20: _testRecvIntoArray

​点赞 5

# 需要导入模块: import socket [as 别名]

# 或者: from socket import send [as 别名]

def _testRecvIntoArray(self):

with test_support.check_py3k_warnings():

buf = buffer(MSG)

self.serv_conn.send(buf)

开发者ID:IronLanguages,项目名称:ironpython2,代码行数:6,

示例21: _testRecvFromIntoArray

​点赞 5

# 需要导入模块: import socket [as 别名]

# 或者: from socket import send [as 别名]

def _testRecvFromIntoArray(self):

with test_support.check_py3k_warnings():

buf = buffer(MSG)

self.serv_conn.send(buf)

开发者ID:IronLanguages,项目名称:ironpython2,代码行数:6,

示例22: _testStream

​点赞 5

# 需要导入模块: import socket [as 别名]

# 或者: from socket import send [as 别名]

def _testStream(self):

self.cli.send(MSG)

self.cli.close()

开发者ID:IronLanguages,项目名称:ironpython2,代码行数:5,

示例23: run_pool

​点赞 5

# 需要导入模块: import socket [as 别名]

# 或者: from socket import send [as 别名]

def run_pool():

try:

httpd = ThreadedTCPServer((State.config.get("proxy", "listen").strip(),

State.config.getint("proxy", "port")), Proxy)

except OSError as exc:

if "attempt was made" in str(exc):

print("Px failed to start - port in use")

else:

pprint(exc)

return

mainsock = httpd.socket

print_banner()

if hasattr(socket, "fromshare"):

workers = State.config.getint("settings", "workers")

for i in range(workers-1):

(pipeout, pipein) = multiprocessing.Pipe()

p = multiprocessing.Process(target=start_worker, args=(pipeout,))

p.daemon = True

p.start()

while p.pid is None:

time.sleep(1)

pipein.send(mainsock.share(p.pid))

serve_forever(httpd)

###

# Proxy detection

开发者ID:genotrance,项目名称:px,代码行数:32,代码来源:px.py

示例24: run

​点赞 5

# 需要导入模块: import socket [as 别名]

# 或者: from socket import send [as 别名]

def run(self):

logging.debug("ThSend %s: run", self.getName())

try:

while not self.exitevent.isSet():

self.idx += self.port.send(self.data)

logging.debug("ThSend %s: exit(%d)", self.getName(),

self.idx)

except Exception as ints:

if not self.quiet:

raise ints

logging.debug(ints)

self.ret_code = 0

开发者ID:avocado-framework,项目名称:avocado-vt,代码行数:14,

注:本文中的socket.send方法示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以帮你使用Python编写一个GUI界面来运行这段代码。我将使用Tkinter库来创建GUI界面,并将这段代码嵌入到GUI中。 首先,需要安装Tkinter库。在终端或命令提示符中输入以下命令来安装: ``` pip install tkinter ``` 接下来,我们将使用以下代码来创建GUI界面: ```python import tkinter as tk import socket import time class GUI: def __init__(self, master): self.master = master master.title("UDP Socket Chat") # IP and Port Labels ip_label = tk.Label(master, text="IP Address:") ip_label.grid(row=0, column=0) port_label = tk.Label(master, text="Port:") port_label.grid(row=1, column=0) # IP and Port Entries self.ip_entry = tk.Entry(master) self.ip_entry.grid(row=0, column=1) self.ip_entry.insert(0, "192.168.185.60") self.port_entry = tk.Entry(master) self.port_entry.grid(row=1, column=1) self.port_entry.insert(0, "8888") # Chat Log self.log = tk.Text(master, width=50, height=20) self.log.grid(row=2, column=0, columnspan=2) # Send Message Entry self.message_entry = tk.Entry(master, width=40) self.message_entry.grid(row=3, column=0, padx=5, pady=5) # Send Message Button self.send_button = tk.Button(master, text="Send", command=self.send_message) self.send_button.grid(row=3, column=1, padx=5, pady=5) # Quit Button self.quit_button = tk.Button(master, text="Quit", command=master.quit) self.quit_button.grid(row=4, column=1) # UDP Socket self.byte = 1024 self.udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) self.udp_socket.bind((self.ip_entry.get(), int(self.port_entry.get()))) # Start Listening Thread self.listen_thread = ListenThread(self.udp_socket, self.log) self.listen_thread.start() def send_message(self): message = self.message_entry.get().encode("utf-8") self.udp_socket.sendto(message, (self.ip_entry.get(), int(self.port_entry.get()))) self.message_entry.delete(0, tk.END) class ListenThread(threading.Thread): def __init__(self, udp_socket, log): threading.Thread.__init__(self) self.udp_socket = udp_socket self.log = log def run(self): while True: recv_data, other_addr = self.udp_socket.recvfrom(self.byte) localTime = time.asctime(time.localtime(time.time())) message = localTime + " receive message from %s: %s" % (other_addr, recv_data.decode("utf-8")) self.log.insert(tk.END, message + "\n") self.log.see(tk.END) root = tk.Tk() gui = GUI(root) root.mainloop() ``` 这个GUI界面包含了一个IP地址和端口号的输入框,一个聊天记录框,一个发送消息的输入框和一个发送按钮。当用户点击发送按钮时,程序将把输入框中的消息发送给指定的IP地址和端口号。 在GUI的构造函数中,创建了一个UDP Socket,并启动了一个监听线程,该线程将接收来自其他客户端的消息并将其显示在聊天记录框中。 现在,您可以保存这个代码并运行它。当您运行它时,您应该会看到一个窗口,您可以在其中输入IP地址和端口号,并开始与其他客户端进行聊天。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值